--- name: Ansible collection release on: pull_request_target: types: - closed jobs: release: if: | github.event.pull_request.merged && !contains(github.event.pull_request.labels.*.name, 'skip_changelog') runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: "Install tools" run: "python -m pip install ansible-base antsibull-changelog --disable-pip-version-check" - name: "Calculate next version" id: version uses: gardar/version-drafter-action@event-triggers # Until PR gets merged: https://github.com/patrickjahns/version-drafter-action/pull/343 env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - name: "Generate new version in changelog.yaml" run: antsibull-changelog release -v --version "${{ steps.version.outputs.next-version }}" - name: "Run antsichaut" uses: gardar/antsichaut@fix-missing-changes with: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" since_version: "${{ steps.version.outputs.current-version }}" - name: "Update Changelog.rst" run: "antsibull-changelog generate -v" - name: "Update collection version" uses: mikefarah/yq@master with: cmd: yq -i '.version = "${{ steps.version.outputs.next-version }}"' 'galaxy.yml' - name: "Write changelog and version" uses: stefanzweifel/git-auto-commit-action@v5 with: branch: ${{ github.event.pull_request.base.ref }} commit_message: "chore: update version" push_options: --force - name: "Checkout updated branch" uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.base.ref }} - name: "Publish release" id: release-publish uses: release-drafter/release-drafter@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}