From a66fc38e29a79e92cb73fc26626a482fbfc4ec41 Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 20 Aug 2026 07:20:09 +0800 Subject: ci: create GitHub release after image build --- .github/workflows/generate_release.yml | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/generate_release.yml (limited to '.github/workflows/generate_release.yml') diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml new file mode 100644 index 0000000..ff6ef1e --- /dev/null +++ b/.github/workflows/generate_release.yml @@ -0,0 +1,51 @@ +name: Generate Release + +on: + workflow_call: + inputs: + handwritten: + required: false + type: string + release_tag: + required: true + type: string + workflow_dispatch: + inputs: + handwritten: + description: 'Small changelog about changes in this build' + required: false + type: string + release_tag: + required: true + type: string + +permissions: {} + +jobs: + generate-release: + runs-on: ubuntu-24.04 + permissions: + contents: write + + + steps: + - uses: actions/checkout@v7.0.1 + with: + fetch-depth: 50 + + - name: Determine release channel + id: target + run: | + target="${GITHUB_REF_NAME}" + [[ "${target}" == "main" ]] && target="stable" + echo "target=${target}" >> "$GITHUB_OUTPUT" + + - name: Generate release + uses: softprops/action-gh-release@v3.0.2 + with: + tag_name: "${{ inputs.release_tag }}" + name: "AeroCore OS ${{ inputs.release_tag }}" + body: | + ${{ inputs.handwritten }} + prerelease: ${{ steps.target.outputs.target != 'stable' }} + make_latest: ${{ steps.target.outputs.target == 'stable' }} -- cgit v1.2.3 From 3fc03faafa274bd4915ea65981cdb4bf03cfd305 Mon Sep 17 00:00:00 2001 From: tranch Date: Thu, 20 Aug 2026 09:53:57 +0800 Subject: fix(release): Use tag name for release title The release title should reflect the tag name, not include "AeroCore OS". This change updates the `generate_release.yml` workflow to use the tag name directly for the release title. Co-authored-by: llm-git --- .github/workflows/generate_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows/generate_release.yml') diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml index ff6ef1e..f741c83 100644 --- a/.github/workflows/generate_release.yml +++ b/.github/workflows/generate_release.yml @@ -44,7 +44,7 @@ jobs: uses: softprops/action-gh-release@v3.0.2 with: tag_name: "${{ inputs.release_tag }}" - name: "AeroCore OS ${{ inputs.release_tag }}" + name: "${{ inputs.release_tag }}" body: | ${{ inputs.handwritten }} prerelease: ${{ steps.target.outputs.target != 'stable' }} -- cgit v1.2.3 From 90e5e0e70df9abe0f47e0bbe064d9e9954a3699a Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 11 Sep 2026 03:07:11 +0800 Subject: Align release tag with build commit --- .github/workflows/generate_release.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to '.github/workflows/generate_release.yml') diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml index f741c83..8ea1f54 100644 --- a/.github/workflows/generate_release.yml +++ b/.github/workflows/generate_release.yml @@ -33,6 +33,16 @@ jobs: with: fetch-depth: 50 + - name: Align release tag with build commit + env: + RELEASE_TAG: ${{ inputs.release_tag }} + run: | + set -euo pipefail + + git tag --force "${RELEASE_TAG}" "${GITHUB_SHA}" + git push --force origin "refs/tags/${RELEASE_TAG}" + echo "Release tag ${RELEASE_TAG} now points to ${GITHUB_SHA}." + - name: Determine release channel id: target run: | -- cgit v1.2.3 From 621e87de23348a337d45643b3682b7b3cb00000c Mon Sep 17 00:00:00 2001 From: tranch Date: Fri, 11 Sep 2026 13:46:58 +0800 Subject: Generate release package changelogs Attach RPM SBOMs to published image digests and build release notes by comparing the current and previous SBOM artifacts. --- .github/workflows/generate_release.yml | 35 +++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to '.github/workflows/generate_release.yml') diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml index 8ea1f54..3cc432d 100644 --- a/.github/workflows/generate_release.yml +++ b/.github/workflows/generate_release.yml @@ -26,12 +26,28 @@ jobs: runs-on: ubuntu-24.04 permissions: contents: write + packages: read steps: - uses: actions/checkout@v7.0.1 with: - fetch-depth: 50 + fetch-depth: 0 + + - name: Install ORAS + uses: oras-project/setup-oras@1d808f7d7f6995cc68b7bf507bfe5c5446e1dc9d # v2.0.1 + + - name: Log in to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Log in to GHCR with ORAS + env: + GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: echo "${GHCR_TOKEN}" | oras login ghcr.io -u "${GITHUB_ACTOR}" --password-stdin - name: Align release tag with build commit env: @@ -50,12 +66,25 @@ jobs: [[ "${target}" == "main" ]] && target="stable" echo "target=${target}" >> "$GITHUB_OUTPUT" + - name: Generate package and commit changelog + env: + IMAGE: ghcr.io/${{ github.repository }} + RELEASE_TAG: ${{ inputs.release_tag }} + HANDWRITTEN: ${{ inputs.handwritten }} + run: | + python3 .github/scripts/generate_changelog.py \ + --image "${IMAGE,,}" \ + --repository "${GITHUB_REPOSITORY}" \ + --current "${RELEASE_TAG}" \ + --channel "${{ steps.target.outputs.target }}" \ + --handwritten "${HANDWRITTEN}" \ + --output release-notes.md + - name: Generate release uses: softprops/action-gh-release@v3.0.2 with: tag_name: "${{ inputs.release_tag }}" name: "${{ inputs.release_tag }}" - body: | - ${{ inputs.handwritten }} + body_path: release-notes.md prerelease: ${{ steps.target.outputs.target != 'stable' }} make_latest: ${{ steps.target.outputs.target == 'stable' }} -- cgit v1.2.3 From 7f3b6ce6405a64f019efc8f460c0942d254f46da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 19:53:54 +0000 Subject: chore(deps): bump softprops/action-gh-release from 3.0.2 to 3.0.3 Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] (cherry picked from commit 377b4bada7b1358e89ffa05d772bf01b09cb5966) --- .github/workflows/generate_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows/generate_release.yml') diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml index 3cc432d..bcdd948 100644 --- a/.github/workflows/generate_release.yml +++ b/.github/workflows/generate_release.yml @@ -81,7 +81,7 @@ jobs: --output release-notes.md - name: Generate release - uses: softprops/action-gh-release@v3.0.2 + uses: softprops/action-gh-release@v3.0.3 with: tag_name: "${{ inputs.release_tag }}" name: "${{ inputs.release_tag }}" -- cgit v1.2.3