ci: add release notes

and update Releasing.md
This commit is contained in:
André Roth
2025-02-15 19:25:35 +01:00
parent 1abb735bfa
commit 6d0735280a
2 changed files with 37 additions and 17 deletions
+28 -9
View File
@@ -30,12 +30,12 @@ jobs:
GOPROXY: "https://proxy.golang.org" GOPROXY: "https://proxy.golang.org"
steps: steps:
- name: "Install packages" - name: "Install Packages"
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y --no-install-recommends graphviz gnupg2 gpgv2 git gcc make devscripts python3 python3-requests-unixsocket python3-termcolor python3-swiftclient python3-boto python3-azure-storage python3-etcd3 python3-plyvel flake8 sudo apt-get install -y --no-install-recommends graphviz gnupg2 gpgv2 git gcc make devscripts python3 python3-requests-unixsocket python3-termcolor python3-swiftclient python3-boto python3-azure-storage python3-etcd3 python3-plyvel flake8
- name: "Checkout repository" - name: "Checkout Repository"
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
# fetch the whole repo for `git describe` to work # fetch the whole repo for `git describe` to work
@@ -45,7 +45,7 @@ jobs:
run: | run: |
make flake8 make flake8
- name: "Read go version from go.mod" - name: "Read Go Version"
run: | run: |
gover=$(sed -n 's/^go \(.*\)/\1/p' go.mod) gover=$(sed -n 's/^go \(.*\)/\1/p' go.mod)
echo "Go Version: $gover" echo "Go Version: $gover"
@@ -91,12 +91,12 @@ jobs:
sudo mkdir -p /srv ; sudo chown runner /srv sudo mkdir -p /srv ; sudo chown runner /srv
COVERAGE_DIR=${{ runner.temp }} make system-test COVERAGE_DIR=${{ runner.temp }} make system-test
- name: "Merge code coverage" - name: "Merge Code Coverage"
run: | run: |
go install github.com/wadey/gocovmerge@latest go install github.com/wadey/gocovmerge@latest
~/go/bin/gocovmerge unit.out ${{ runner.temp }}/*.out > coverage.txt ~/go/bin/gocovmerge unit.out ${{ runner.temp }}/*.out > coverage.txt
- name: "Upload code coverage" - name: "Upload Code Coverage"
uses: codecov/codecov-action@v2 uses: codecov/codecov-action@v2
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
@@ -148,13 +148,13 @@ jobs:
gcc-i686-linux-gnu gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu gcc-i686-linux-gnu gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu
git config --global --add safe.directory "$GITHUB_WORKSPACE" git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: "Checkout repository" - name: "Checkout Repository"
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
# fetch the whole repo for `git describe` to work # fetch the whole repo for `git describe` to work
fetch-depth: 0 fetch-depth: 0
- name: "Read go version from go.mod" - name: "Read Go Version"
run: | run: |
gover=$(sed -n 's/^go \(.*\)/\1/p' go.mod) gover=$(sed -n 's/^go \(.*\)/\1/p' go.mod)
echo "Go Version: $gover" echo "Go Version: $gover"
@@ -221,13 +221,13 @@ jobs:
- goos: darwin - goos: darwin
goarch: arm goarch: arm
steps: steps:
- name: "Checkout repository" - name: "Checkout Repository"
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
# fetch the whole repo for `git describe` to work # fetch the whole repo for `git describe` to work
fetch-depth: 0 fetch-depth: 0
- name: "Read go version from go.mod" - name: "Read Go Version"
run: | run: |
echo "GOVER=$(sed -n 's/^go \(.*\)/\1/p' go.mod)" >> $GITHUB_OUTPUT echo "GOVER=$(sed -n 's/^go \(.*\)/\1/p' go.mod)" >> $GITHUB_OUTPUT
id: goversion id: goversion
@@ -274,12 +274,31 @@ jobs:
needs: ci-binary-build needs: ci-binary-build
if: startsWith(github.event.ref, 'refs/tags') if: startsWith(github.event.ref, 'refs/tags')
steps: steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Get aptly version"
env:
FORCE_CI: ${{ steps.force_ci.outputs.FORCE_CI }}
run: |
aptlyver=$(make -s version)
echo "Aptly Version: $aptlyver"
echo "VERSION=$aptlyver" >> $GITHUB_OUTPUT
id: releaseversion
- name: "Download Artifacts" - name: "Download Artifacts"
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
path: out/ path: out/
- name: "Create Release Notes"
run: |
echo -e "## Changes\n\n" > out/release-notes.md
dpkg-parsechangelog -S Changes | tail -n +4 >> out/release-notes.md
- name: "Release" - name: "Release"
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
name: "Aptly Release ${{ steps.releaseversion.outputs.VERSION }}"
files: "out/**/aptly_*.zip" files: "out/**/aptly_*.zip"
body_path: "out/release-notes.md"
+9 -8
View File
@@ -3,13 +3,14 @@
- create branch release/1.x.y - create branch release/1.x.y
- update debian/changelog - update debian/changelog
- create PR, merge when approved - create PR, merge when approved
- on updated master, git tag and push: - on updated master, create release:
``` ```
version=$(dpkg-parsechangelog -S Version) version=$(dpkg-parsechangelog -S Version)
git tag -a v$version -m 'aptly: release $version' echo Releasing prod version $version
git push aptly-dev v$version git tag -a v$version -m 'aptly: release $version'
``` git push origin v$version master
- run swagger locally ```
- add generated swagger-1.x.y.json to www.aptly.info - run swagger locally (`make docker-serve`)
- copy generated docs/swagger.json to https://github.com/aptly-dev/www.aptly.info/tree/master/static/swagger/aptly_1.x.y.json
- releae www.aptly.info - releae www.aptly.info
- create release announcement on https://github.com/aptly-dev/aptly/discussions - create release announcement on https://github.com/aptly-dev/aptly/discussions