-
Notifications
You must be signed in to change notification settings - Fork 3
48 lines (46 loc) · 1.42 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
---
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: Configure Python
uses: actions/setup-python@v4
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 }}