ansible-collection-hetzner-.../.github/workflows/release-please.yml
Jonas L 7f4e4e96cc
build: don't include v prefix in version tags (#349)
##### SUMMARY

The version tag regex allowing to publish to ansible-galaxy does not
allow versions to be prefixed with a v:

468493fef4/zuul.d/pipelines.yaml (L146-L155)

Introducing the v prefix is also breaking with the previous tag naming
convention.
2023-10-06 15:59:20 +02:00

78 lines
2.5 KiB
YAML

on:
push:
branches:
- main
name: release-please
jobs:
release-please:
# The secret HCLOUD_BOT_TOKEN is only available on the main repo, not in forks.
if: github.repository == 'ansible-collections/hetzner.hcloud'
runs-on: ubuntu-latest
outputs:
pr-updated: ${{ steps.outputs.outputs.pr-updated }}
branch: ${{ steps.outputs.outputs.branch }}
version: ${{ steps.outputs.outputs.version }}
steps:
- id: release
uses: google-github-actions/release-please-action@v3
with:
token: ${{ secrets.HCLOUD_BOT_TOKEN }}
release-type: simple
package-name: hetzner.hcloud
include-v-in-tag: false
# We use antsibull-changelog for the actual user-facing changelog.
changelog-path: changelogs/dev-changelog.md
extra-files: |
galaxy.yml
plugins/module_utils/version.py
- name: Prepare outputs
id: outputs
if: steps.release.outputs.pr != ''
run: |
echo "pr-updated=true" >> "$GITHUB_OUTPUT"
echo "branch=${{ fromJSON(steps.release.outputs.pr).headBranchName }}" >> "$GITHUB_OUTPUT"
echo "version=$(echo "${{ fromJSON(steps.release.outputs.pr).title }}" | awk '{print $3}')" >> "$GITHUB_OUTPUT"
antsibull-changelog:
runs-on: ubuntu-latest
needs: [release-please]
if: needs.release-please.outputs.pr-updated
steps:
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install dependencies
run: pip install antsibull-changelog
- uses: actions/checkout@v4
with:
ref: ${{ needs.release-please.outputs.branch }}
- name: antsibull-changelog
run: antsibull-changelog release --version "${{ needs.release-please.outputs.version }}"
- name: Check for diff
id: antsibull-diff
run: |
if [[ $(git status --porcelain) ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Commit & Push
if: ${{ steps.antsibull-diff.outputs.changed }}
run: |
git config user.name "Hetzner Cloud Bot"
git config user.email "45457231+hcloud-bot@users.noreply.github.com"
git add changelogs/ CHANGELOG.rst
git commit -m "chore(main): changelog for version ${{ needs.release-please.outputs.version }}"
git push origin ${{ needs.release-please.outputs.branch }}