Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 55 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,18 @@ jobs:
opennow-stable/dist-release/*.deb
if-no-files-found: error

- name: Upload updater metadata
if: matrix.label == 'windows' || matrix.label == 'macos-x64' || matrix.label == 'linux-x64'
uses: actions/upload-artifact@v4
with:
name: opennow-stable-${{ matrix.label }}-metadata
path: |
opennow-stable/dist-release/latest.yml
opennow-stable/dist-release/latest-mac.yml
opennow-stable/dist-release/latest-linux.yml
opennow-stable/dist-release/*.blockmap
if-no-files-found: error

release:
name: publish-release
runs-on: blacksmith-2vcpu-ubuntu-2404
Expand All @@ -199,6 +211,38 @@ jobs:
path: release-artifacts
merge-multiple: true

- name: Verify release assets
shell: bash
run: |
shopt -s nullglob
package_assets=(release-artifacts/*.exe release-artifacts/*.dmg release-artifacts/*.zip release-artifacts/*.AppImage release-artifacts/*.deb)
metadata_assets=(
release-artifacts/latest.yml
release-artifacts/latest-mac.yml
release-artifacts/latest-linux.yml
)
blockmap_assets=(release-artifacts/*.blockmap)

if [[ ${#package_assets[@]} -eq 0 ]]; then
echo "No package assets were downloaded." >&2
exit 1
fi

required_metadata_files=(
release-artifacts/latest.yml
release-artifacts/latest-mac.yml
release-artifacts/latest-linux.yml
)
for required_file in "${required_metadata_files[@]}"; do
if [[ ! -f "$required_file" ]]; then
echo "Missing required updater metadata file: $required_file" >&2
exit 1
fi
done

echo "Release assets to publish:"
printf ' - %s\n' "${package_assets[@]}" "${metadata_assets[@]}" "${blockmap_assets[@]}"

- name: Publish GitHub release
uses: softprops/action-gh-release@v2
with:
Expand All @@ -207,7 +251,17 @@ jobs:
prerelease: ${{ needs.preflight.outputs.prerelease }}
make_latest: ${{ needs.preflight.outputs.make_latest }}
generate_release_notes: true
files: release-artifacts/**/*
fail_on_unmatched_files: true
files: |
Comment thread
capy-ai[bot] marked this conversation as resolved.
release-artifacts/*.exe
release-artifacts/*.dmg
release-artifacts/*.zip
release-artifacts/*.AppImage
release-artifacts/*.deb
release-artifacts/latest.yml
release-artifacts/latest-mac.yml
release-artifacts/latest-linux.yml
Comment thread
capy-ai[bot] marked this conversation as resolved.
release-artifacts/*.blockmap

finalize:
name: finalize-version-bump
Expand Down
Loading
Loading