Use ncc and clean workflows

This commit is contained in:
CrazyMax
2020-04-09 02:32:42 +02:00
parent 74111003d6
commit 2d97075bcc
13 changed files with 27138 additions and 151 deletions

View File

@@ -11,12 +11,9 @@ Contributions to this project are [released](https://help.github.com/articles/gi
3. Make sure the tests pass on your machine: `npm run test`
4. Create a new branch: `git checkout -b my-branch-name`
5. Make your change, add tests, and make sure the tests still pass
6. Compile your Typescript code: `npm run build`
7. Format your code: `npm run format`
8. Install build dependencies: `npm run build-dep`
9. Prune dependencies: `npm run prune`
10. Push to your fork and [submit a pull request](https://github.com/crazy-max/ghaction-upx/compare)
11. Pat your self on the back and wait for your pull request to be reviewed and merged.
6. Run pre-checkin: `npm run pre-checkin`
7. Push to your fork and [submit a pull request](https://github.com/crazy-max/ghaction-upx/compare)
8. Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted:

View File

@@ -4,11 +4,9 @@ on:
pull_request:
branches:
- master
- releases/*
push:
branches:
- master
- releases/*
jobs:
ci:

View File

@@ -14,10 +14,6 @@ jobs:
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v1
-
# https://github.com/actions/setup-node
name: Set up Node
uses: actions/setup-node@v1
-
name: Setup TS
run: npm install tslint typescript -g

View File

@@ -3,11 +3,7 @@ name: master
on:
push:
branches:
- 'master'
paths:
- 'node_modules/**'
- 'package.json'
- '.github/workflows/master.yml'
- master
jobs:
prune:
@@ -22,14 +18,11 @@ jobs:
name: Fix detached HEAD
run: git checkout ${GITHUB_REF#refs/heads/}
-
# https://github.com/actions/setup-node
name: Set up Node
uses: actions/setup-node@v1
-
name: Prune prod
name: Build
run: |
npm run build-dep
npm run prune
npm install
npm run format
npm run build
-
name: Set up Git
env:
@@ -43,6 +36,6 @@ jobs:
run: |
git add .
if output=$(git status --porcelain) && [ ! -z "$output" ]; then
git commit -m 'Update node_modules'
git commit -m 'Update generated content'
git push
fi

View File

@@ -1,72 +0,0 @@
name: release
on:
push:
branches-ignore:
- '**'
tags:
- 'v*.*.*'
jobs:
release:
runs-on: ubuntu-latest
steps:
-
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v1
-
name: Prepare
id: prepare
run: |
TAG=${GITHUB_REF#refs/tags/}
MINOR=${TAG%.*}
MAJOR=${MINOR%.*}
echo ::set-output name=tag_name::${TAG}
echo ::set-output name=minor_tag::${MINOR}
echo ::set-output name=major_tag::${MAJOR}
echo ::set-output name=major_exists::$(git show-ref origin/releases/${MAJOR})
-
name: Set up Git
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
-
name: Checkout releases/${{ steps.prepare.outputs.major_tag }} branch
run: |
git checkout -B releases/${{ steps.prepare.outputs.major_tag }}
if [ -n "${{ steps.prepare.outputs.major_exists }}" ]; then
git branch --set-upstream-to=origin/releases/${{ steps.prepare.outputs.major_tag }} releases/${{ steps.prepare.outputs.major_tag }}
fi
-
# https://github.com/actions/setup-node
name: Set up Node
uses: actions/setup-node@v1
-
name: NPM production deps
run: |
npm run build-dep
npm run prune
-
name: Commit and push changes
run: |
git add --all
git status --short -uno
git commit -m 'Release ${{ steps.prepare.outputs.tag_name }}'
git show --stat-count=10 HEAD
git push -f origin releases/${{ steps.prepare.outputs.major_tag }}
-
name: Update ${{ steps.prepare.outputs.minor_tag }} tag
run: |
git push origin :refs/tags/${{ steps.prepare.outputs.minor_tag }}
git tag -fa ${{ steps.prepare.outputs.minor_tag }} -m "Release ${{ steps.prepare.outputs.tag_name }}"
git push origin ${{ steps.prepare.outputs.minor_tag }}
-
name: Update ${{ steps.prepare.outputs.major_tag }} tag
run: |
git push origin :refs/tags/${{ steps.prepare.outputs.major_tag }}
git tag -fa ${{ steps.prepare.outputs.major_tag }} -m "Release ${{ steps.prepare.outputs.tag_name }}"
git push origin ${{ steps.prepare.outputs.major_tag }}

View File

@@ -4,11 +4,9 @@ on:
pull_request:
branches:
- master
- releases/*
push:
branches:
- master
- releases/*
jobs:
test:
@@ -24,6 +22,11 @@ jobs:
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v1
-
name: Build
run: |
npm install
npm run build
-
name: Install
run: npm ci

View File

@@ -1,37 +0,0 @@
name: uncommited
on:
pull_request:
push:
jobs:
changes:
runs-on: ubuntu-latest
steps:
-
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v1
-
# https://github.com/actions/setup-node
name: Set up Node
uses: actions/setup-node@v1
-
name: Build
run: |
npm install
npm run format
npm run build
-
name: Prune prod
run: |
npm run build-dep
npm run prune
-
name: Check for uncommitted changes
run: |
if [[ `git status --porcelain` ]]; then
git status --porcelain
echo "##[error] found changed files after build. please 'npm run build && npm run format && npm prune --production'"
exit 1
fi