mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-12 14:07:28 +00:00
Reduce release assets by removing duplicates
Removed: - Individual .sha256 files (checksums.txt already contains all checksums) - Standalone binaries without version numbers (users should download versioned tarballs/zips) Standalone binaries are only needed in Docker images for the /download/ endpoint. GitHub releases should only contain versioned archives for user downloads. This reduces release assets from ~54 files to ~19 files per release.
This commit is contained in:
parent
8f0a548e3d
commit
fa8a8f3af3
2 changed files with 8 additions and 44 deletions
15
.github/workflows/release.yml
vendored
15
.github/workflows/release.yml
vendored
|
|
@ -235,7 +235,7 @@ jobs:
|
|||
echo "release_url=$(gh release view ${TAG} --json url -q .url)" >> $GITHUB_OUTPUT
|
||||
echo "tag=${TAG}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Upload checksums.txt first
|
||||
- name: Upload checksums.txt
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
|
|
@ -244,10 +244,6 @@ jobs:
|
|||
echo "Uploading checksums.txt..."
|
||||
gh release upload "${TAG}" release/checksums.txt
|
||||
|
||||
# Also upload individual .sha256 files
|
||||
echo "Uploading individual checksum files..."
|
||||
gh release upload "${TAG}" release/*.sha256
|
||||
|
||||
- name: Upload release assets
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
|
|
@ -271,15 +267,6 @@ jobs:
|
|||
# Upload install.sh
|
||||
gh release upload "${TAG}" release/install.sh
|
||||
|
||||
# Upload standalone binaries (for direct download by installers)
|
||||
echo "Uploading standalone binaries..."
|
||||
# Upload binaries without .sha256 files (those were already uploaded)
|
||||
for file in release/pulse-sensor-proxy-* release/pulse-host-agent-*; do
|
||||
if [[ ! "$file" =~ \.sha256$ ]] && [[ ! "$file" =~ \.tar\.gz$ ]] && [[ ! "$file" =~ \.zip$ ]]; then
|
||||
gh release upload "${TAG}" "$file"
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Output release information
|
||||
run: |
|
||||
echo "✅ Release draft created successfully!"
|
||||
|
|
|
|||
|
|
@ -289,26 +289,9 @@ cd ../..
|
|||
# Cleanup
|
||||
rm -rf "$universal_dir"
|
||||
|
||||
# Copy standalone pulse-sensor-proxy binaries to release directory
|
||||
# These are needed by install-sensor-proxy.sh installer script
|
||||
echo "Copying standalone pulse-sensor-proxy binaries..."
|
||||
for build_name in "${!builds[@]}"; do
|
||||
cp "$BUILD_DIR/pulse-sensor-proxy-$build_name" "$RELEASE_DIR/"
|
||||
done
|
||||
|
||||
# Copy standalone pulse-host-agent binaries to release directory
|
||||
# These are needed for manual host-agent installation without a running Pulse server
|
||||
echo "Copying standalone pulse-host-agent binaries..."
|
||||
for build_name in "${!builds[@]}"; do
|
||||
cp "$BUILD_DIR/pulse-host-agent-$build_name" "$RELEASE_DIR/"
|
||||
done
|
||||
|
||||
# Also copy standalone macOS and Windows host-agent binaries
|
||||
cp "$BUILD_DIR/pulse-host-agent-darwin-amd64" "$RELEASE_DIR/"
|
||||
cp "$BUILD_DIR/pulse-host-agent-darwin-arm64" "$RELEASE_DIR/"
|
||||
cp "$BUILD_DIR/pulse-host-agent-windows-amd64.exe" "$RELEASE_DIR/"
|
||||
cp "$BUILD_DIR/pulse-host-agent-windows-arm64.exe" "$RELEASE_DIR/"
|
||||
cp "$BUILD_DIR/pulse-host-agent-windows-386.exe" "$RELEASE_DIR/"
|
||||
# NOTE: Standalone binaries are NOT copied to release directory
|
||||
# They are only included in Docker images for /download/ endpoints
|
||||
# Users should download versioned tarballs/zips from GitHub releases instead
|
||||
|
||||
# Optionally package Helm chart
|
||||
if [ "${SKIP_HELM_PACKAGE:-0}" != "1" ]; then
|
||||
|
|
@ -327,24 +310,18 @@ fi
|
|||
echo "Copying install.sh to release directory..."
|
||||
cp install.sh "$RELEASE_DIR/"
|
||||
|
||||
# Generate checksums (include tarballs, helm chart, standalone binaries, and install.sh)
|
||||
# Generate checksums (include tarballs, zip files, helm chart, and install.sh)
|
||||
cd "$RELEASE_DIR"
|
||||
shopt -s nullglob extglob
|
||||
# Match tarballs, then standalone binaries (excluding .tar.gz and .sha256), then install.sh
|
||||
checksum_files=( *.tar.gz pulse-sensor-proxy-!(*.tar.gz|*.sha256) pulse-host-agent-!(*.tar.gz|*.sha256) install.sh )
|
||||
# Match all tarballs, zip files, and install.sh
|
||||
checksum_files=( *.tar.gz *.zip install.sh )
|
||||
if compgen -G "pulse-*.tgz" > /dev/null; then
|
||||
checksum_files+=( pulse-*.tgz )
|
||||
fi
|
||||
if [ ${#checksum_files[@]} -eq 0 ]; then
|
||||
echo "Warning: no release artifacts found to checksum."
|
||||
else
|
||||
# Generate individual .sha256 files for each asset (required by install.sh)
|
||||
for file in "${checksum_files[@]}"; do
|
||||
sha256sum "$file" > "${file}.sha256"
|
||||
done
|
||||
|
||||
# Also generate combined checksums.txt for convenience
|
||||
# Sort checksums by filename for deterministic output (prevents #671 checksum mismatches)
|
||||
# Generate checksums.txt with sorted output for deterministic results (prevents #671 checksum mismatches)
|
||||
sha256sum "${checksum_files[@]}" | sort -k 2 > checksums.txt
|
||||
if [ -n "${SIGNING_KEY_ID:-}" ]; then
|
||||
if command -v gpg >/dev/null 2>&1; then
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue