feat(ci): allow auto release

This commit is contained in:
Michael Kriese 2020-05-05 06:39:14 +02:00
parent 1dd736bd72
commit 7b9bc41abb

View file

@ -7,10 +7,7 @@ jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: | if: |
github.event.commits[0].message == 'chore(release): trigger release process [ci release]' || startsWith(github.event.commits[0].message, 'fix(deps): update renovate/renovate docker tag ')
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.1.0 uses: actions/checkout@v2.1.0
@ -30,17 +27,14 @@ jobs:
run: npm ci run: npm ci
- name: Release - name: Release
run: | run: |
readonly COMMIT_MESSAGE="${{ github.event.commits[0].message }}" SEMVER_REGEX="v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"
if [[ "${COMMIT_MESSAGE: -11: -1}" == 'ci release' ]]; then if [[ ! "${{ github.event.commits[0].message }}" =~ ${SEMVER_REGEX} ]]; then
echo "::set-env name=NEXT_VERSION::$(npm run release:version --silent)" echo Not a semver like version - aborting: ${1}
npx --no-install standard-version exit 1
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 fi
"::set-env name=NEXT_VERSION::${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}"
readonly COMMIT_MESSAGE="${{ github.event.commits[0].message }}"
npx --no-install standard-version
- name: Publish release - name: Publish release
run: git push --follow-tags run: git push --follow-tags
- name: Publish GitHub release - name: Publish GitHub release