chore(release): use updated workflow without github-push-action dep

This commit is contained in:
Jeroen de Bruijn 2020-03-22 20:40:26 +01:00
parent 1cf1da245b
commit 441142da6d
No known key found for this signature in database
GPG key ID: 7D12D6AB2A547EBB
4 changed files with 200 additions and 16 deletions

View file

@ -6,7 +6,11 @@ on:
jobs: jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: "startsWith(github.event.commits[0].message, 'chore(release): trigger release process [ci release]')" if: |
github.event.commits[0].message == 'chore(release): trigger release process [ci release]' ||
github.event.commits[0].message == 'chore(release): trigger release process [ci release][major]' ||
github.event.commits[0].message == 'chore(release): trigger release process [ci release][minor]' ||
github.event.commits[0].message == 'chore(release): trigger release process [ci release][patch]'
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -25,25 +29,37 @@ jobs:
registry-url: 'https://registry.npmjs.org' registry-url: 'https://registry.npmjs.org'
- name: Install project - name: Install project
run: npm ci run: npm ci
- name: Release as major
if: endsWith(github.event.commits[0].message, '[ci release][major]')
run: npx --no-install standard-version --release-as major
- name: Release as minor
if: endsWith(github.event.commits[0].message, '[ci release][minor]')
run: npx --no-install standard-version --release-as minor
- name: Release as patch
if: endsWith(github.event.commits[0].message, '[ci release][patch]')
run: npx --no-install standard-version --release-as patch
- name: Release - name: Release
if: endsWith(github.event.commits[0].message, '[ci release]') run: |
run: npx --no-install standard-version readonly COMMIT_MESSAGE="${{ github.event.commits[0].message }}"
- name: Push release if [[ "${COMMIT_MESSAGE: -11: -1}" == 'ci release' ]]; then
uses: ad-m/github-push-action@v0.5.0 echo "::set-env name=NEXT_VERSION::$(npm run release:version --silent)"
npx --no-install standard-version
else
readonly RELEASE_TYPE="${COMMIT_MESSAGE: -6: -1}"
echo "::set-env name=NEXT_VERSION::$(
npm run release:version --silent -- --releaseAs "${RELEASE_TYPE}"
)"
npx --no-install standard-version --release-as "${RELEASE_TYPE}"
fi
- name: Publish release
run: git push --follow-tags
- name: Publish GitHub release
uses: actions/create-release@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} tag_name: v${{ env.NEXT_VERSION }}
release_name: v${{ env.NEXT_VERSION }}
body: |
See the the [changelog](
https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md
) for the changes included in this release.
prevent_failed_status: prevent_failed_status:
name: Prevent failed status when skipped name: Prevent failed status when skipped
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Prevent failed status when skipped - name: Prevent failed status when skipped
run: echo "Run this job to prevent the workflow status from showing as failed when all other jobs are skipped." run: |
echo "Run this job to prevent the workflow status from showing as" \
"failed when all other jobs are skipped."

6
.versionrc.js Normal file
View file

@ -0,0 +1,6 @@
module.exports = {
scripts: {
prerelease:
'if [ "$(git branch --show-current)" != "master" ]; then exit 1; fi',
},
};

160
package-lock.json generated
View file

@ -3265,6 +3265,166 @@
"integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
"dev": true "dev": true
}, },
"next-standard-version": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/next-standard-version/-/next-standard-version-2.1.0.tgz",
"integrity": "sha512-3SrHsyTE/H8sX9ijHk8/HOVx1TUzedwSQkytPVvjylYfWuxZWwrutCuSyT2YfDe7V3FtXVuG5YAtdyXORAKF4w==",
"dev": true,
"requires": {
"semver": "7.1.3",
"standard-version": "7.1.0",
"strip-ansi": "6.0.0",
"yargs": "15.3.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
"cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
"requires": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"p-limit": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
"integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
"semver": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
"integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
"dev": true
},
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
"ansi-regex": "^5.0.0"
}
},
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
"requires": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
}
},
"yargs": {
"version": "15.3.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
"integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
"dev": true,
"requires": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.1"
}
},
"yargs-parser": {
"version": "18.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.1.tgz",
"integrity": "sha512-KRHEsOM16IX7XuLnMOqImcPNbLVXMNHYAoFc3BKR8Ortl5gzDbtXvvEoGx9imk5E+X1VeNKNlcHr8B8vi+7ipA==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
}
},
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",

View file

@ -8,6 +8,7 @@
"format": "concurrently \"npm:format:default\"", "format": "concurrently \"npm:format:default\"",
"format:default": "prettier --write \"**/*.{js,jsx,vue,ts,css,less,scss,html,htm,json,md,markdown,yml,yaml}\"", "format:default": "prettier --write \"**/*.{js,jsx,vue,ts,css,less,scss,html,htm,json,md,markdown,yml,yaml}\"",
"format-file:default": "prettier --write", "format-file:default": "prettier --write",
"release:version": "next-standard-version",
"release:changelog": "standard-version --dry-run --skip.commit=true --skip.tag=true", "release:changelog": "standard-version --dry-run --skip.commit=true --skip.tag=true",
"release:commit": "git commit --allow-empty -m \"chore(release): trigger release process [ci release]\"", "release:commit": "git commit --allow-empty -m \"chore(release): trigger release process [ci release]\"",
"release:message": "chalk -t \"Run {green.bold git push} to publish the release or {red.bold git reset HEAD^} to undo the release.\"", "release:message": "chalk -t \"Run {green.bold git push} to publish the release or {red.bold git reset HEAD^} to undo the release.\"",
@ -37,6 +38,7 @@
"eslint-plugin-prettier": "3.1.2", "eslint-plugin-prettier": "3.1.2",
"husky": "4.2.3", "husky": "4.2.3",
"lint-staged": "10.0.8", "lint-staged": "10.0.8",
"next-standard-version": "2.1.0",
"npm-run-all": "4.1.5", "npm-run-all": "4.1.5",
"prettier": "^2.0.1", "prettier": "^2.0.1",
"standard-version": "7.1.0", "standard-version": "7.1.0",