summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml21
-rw-r--r--.github/workflows/generate_release.yml51
2 files changed, 72 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 832b9fa..6ff5963 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,6 +8,11 @@ on:
#schedule:
# - cron: '05 10 * * *' # 10:05am UTC everyday
workflow_dispatch:
+ inputs:
+ handwritten:
+ description: "Small changelog about changes in this build"
+ required: false
+ type: string
env:
IMAGE_REGISTRY: "ghcr.io/${{ github.repository_owner }}" # do not edit
@@ -20,6 +25,8 @@ jobs:
build_push:
name: Build and push image
runs-on: ubuntu-24.04
+ outputs:
+ release_tag: ${{ steps.gen-version.outputs.release_tag }}
permissions:
contents: read
@@ -105,6 +112,8 @@ jobs:
echo "ALIAS_TAGS=${ALIAS_TAGS}"
} >> "$GITHUB_ENV"
+ echo "release_tag=${VERSION_TAG}" >> "$GITHUB_OUTPUT"
+
- name: Prepare environment
run: |
# Lowercase the image uri https://github.com/macbre/push-to-ghcr/issues/12
@@ -211,3 +220,15 @@ jobs:
DIGEST: ${{ steps.push-image.outputs.digest }}
run: |
cosign sign -y --key env://COSIGN_PRIVATE_KEY "${IMAGE_REGISTRY}/${IMAGE_NAME}@${DIGEST}"
+
+ generate_release:
+ name: Generate Release
+ needs: [build_push]
+ if: github.event_name != 'pull_request'
+ permissions:
+ contents: write
+ secrets: inherit
+ uses: ./.github/workflows/generate_release.yml
+ with:
+ release_tag: ${{ needs.build_push.outputs.release_tag }}
+ handwritten: ${{ inputs.handwritten }}
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' }}