--- name: Release announcement # yamllint disable-line rule:truthy on: push jobs: publish: if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Get tag id: tag uses: devops-actions/action-get-tag@v1.0.2 - name: Convert tag run: >- VER=$(echo "${{ steps.tag.outputs.tag }}" | tr . -) echo "ANCHOR=${VER}" >> $GITHUB_ENV - name: Configure Python uses: actions/setup-python@v5 with: python-version: "3.8" - name: Generate reno report run: | # fetch last 30 changes git fetch --depth=30 pipx run tox -e reno -- report \ --version "${{ steps.tag.outputs.tag }}" \ 2>/dev/null > reno-notes.md || true if grep -q 'reno: FAIL' reno-notes.md then touch modified-reno-notes.md else sed '/^\.pkg.*$/d' reno-notes.md | sed '/^reno:.*$/d' | sed '/^\.\. .*$/d' | sed '$d' | sed '$d' | sed '1d' > modified-reno-notes.md fi - name: Create Release Notes run: | gh release create ${{ steps.tag.outputs.tag }} --generate-notes \ -F modified-reno-notes.md env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}