name: Check Commitizen on: push: branches: - master pull_request: types: [opened, synchronize] jobs: check-commitizen: runs-on: ubuntu-latest if: github.ref == 'refs/heads/$DEFAULT_BRANCH' || github.event_name == 'pull_request' steps: - name: Check out code uses: actions/checkout@v2 - name: Install commitizen run: | sudo apt-get update sudo apt-get install -y python3-pip pip3 install --user commitizen - name: Run commitizen check run: | cz check --message "$MESSAGE" >/tmp/cz_check || true grep "successful" /tmp/cz_check tag-to-release: runs-on: ubuntu-latest if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') steps: - name: Check out code uses: actions/checkout@v2 - name: Install commitizen run: | sudo apt-get update sudo apt-get install -y git python3-pip pip3 install --user commitizen - name: Clone repository run: git clone ${{ github.repository }} - name: Move to project directory run: cd $(basename ${{ github.repository }}) - name: Determine changelog run: | CHANGELOG=$(cz changelog ${{ github.ref }} --dry-run | sed /^Invalid/d) echo "::set-env name=CHANGELOG::$CHANGELOG" - name: Create release run: | release-cli create --name ${{ github.ref }} --description "${{ env.CHANGELOG }}" --tag-name ${{ github.ref }}