-
Notifications
You must be signed in to change notification settings - Fork 10
69 lines (64 loc) · 2.24 KB
/
release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---
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/[email protected]
- 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
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 }}