Skip to content

Commit

Permalink
Add release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
decoyjoe committed Dec 7, 2024
1 parent 3a804af commit 4cdf4a3
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 1 deletion.
10 changes: 9 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
name: Build

on: [push, workflow_dispatch]
on:
pull_request:
# push:
workflow_call:
outputs:
artifact_name:
description: Name of the sanoid-portable artifact uploaded during the build.
value: ${{ jobs.build.outputs.artifact_name }}
workflow_dispatch:

jobs:
build:
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Release

on:
release:
types: [published]

jobs:
call-build-workflow:
uses: ./.github/workflows/build.yml

release:
runs-on: ubuntu-latest
needs: call-build-workflow
steps:
- name: Download sanoid-portable artifact
uses: actions/download-artifact@v4
with:
name: ${{ needs.call-build-workflow.outputs.artifact_name }}

- name: Assert CHANGELOG updated for this version
run: |
version='${{ github.event.release.tag_name }}'
version_heading="## $version"
if ! grep -q "$version_heading" CHANGELOG.md; then
echo "Error: CHANGELOG.md does not appear to contain release notes for \"$version\"". A heading matching \"$version_heading\" was not found."
exit 1
fi
echo 'Ok: CHANGELOG.md contains release notes for $version'
- name: Assert sanoid-portable version matches GitHub Release version
run: |
sudo update-binfmts --install APE /bin/sh --magic MZqFpD
sudo chmod +x sanoid-portable
sanoid_version=$(./sanoid-portable --version)
release_version="${{ github.event.release.tag_name }}"
echo "GitHub Release: $release_version"
echo "sanoid-portable: $sanoid_version"
if [ "$release_version" != "$sanoid_version" ]; then
echo "Error: GitHub Release version \"$release_version\" does not match sanoid-portable version \"$sanoid_version\"."
exit 1
fi
sha256sum sanoid-portable
echo 'Ok: sanoid-portable version matches GitHub release version.'
# - name: Upload sanoid-portable to GitHub Release assets
# uses: softprops/action-gh-release@v2
# with:
# files: sanoid-portable
# tag_name: ${{ github.event.release.tag_name }}
# fail_on_unmatched_files: true

0 comments on commit 4cdf4a3

Please sign in to comment.