Skip to content

Release

Release #12

Workflow file for this run

name: Release
on:
release:
types: [published]
jobs:
call-build-workflow:
uses: ./.github/workflows/build.yml
release:
runs-on: ubuntu-latest
needs: call-build-workflow
permissions:
contents: write
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 release 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