Skip to content

Automatic release and versioning #9

Automatic release and versioning

Automatic release and versioning #9

name: Check For Release Label
on:
pull_request:
branches: [ master ]
jobs:
check_for_release_label:
runs-on: ubuntu-latest
steps:
# trivial
# Comment out checkouts since we are not checking for the changelog.txt
#- uses: actions/checkout@v2
# checkout the master branch to compare changelog.txt
#- uses: actions/checkout@v2
# with:
# ref: master
# path: ./masterbranch
- name: Get release label
uses: actions-ecosystem/[email protected]
id: release-label
#- run: echo "Release labels has skip: ${{ github.event.pull_request.labels }}"
- run: echo "Release level is ${{ steps.release-label.outputs.level }}"
- name: Fail if label does not exist
#if: ${{ ! ( contains(github.event.pull_request.labels.*.name, 'release/patch') || contains(github.event.pull_request.labels.*.name, 'release/minor') || contains(github.event.pull_request.labels.*.name, 'release/major') || contains(github.event.pull_request.labels.*.name, 'release/skip') ) }}
if: ${{ ( steps.release-label.outputs.level == null ) && ( ! contains(github.event.pull_request.labels.*.name, 'release/skip') ) }}
run: echo "Please label your PR with a release label" && exit 1
# ensure changelog.txt has been updated in this PR by comparing it to the one in the master branch
#- name: Verify that changelog.txt has been updated
# if: ${{ contains(github.event.pull_request.labels.*.name, 'release/patch') || contains(github.event.pull_request.labels.*.name, 'release/minor') || contains(github.event.pull_request.labels.*.name, 'release/major') }}
# run: |
# ! cmp --silent <(tail -n+2 changelog.txt) <(tail -n+2 ./masterbranch/changelog.txt) || { echo 'Changelog.txt must be updated for release PRs. Please update changelog.txt' && exit 1 ; }