--- 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: Notify mailing list uses: dawidd6/action-send-mail@v3 with: server_address: ${{ vars.MAIL_SERVER }} server_port: ${{ vars.MAIL_SERVER_PORT }} secure: true username: ${{ secrets.MAIL_USER }} password: ${{ secrets.MAIL_PASSWORD }} subject: global-jjb ${{ steps.tag.outputs.tag }} released to: lf-releng@lists.linuxfoundation.org from: ${{ vars.MAIL_FROM }} body: | Hi Everyone, global-jjb ${{ steps.tag.outputs.tag }} is released. Thanks to everyone who contributed to this release. Release notes are avaiable online at: https://docs.releng.linuxfoundation.org/projects/global-jjb/en/stable/release-notes.html#${{ env.ANCHOR }} Cheers, LF Releng - 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 }}