ci: attach .deb and .rpm packages to releases and nightlies
Built by nfpm from the static musl binaries, with the man page and the bash, zsh and fish completions. The names carry no version, so releases/latest/download/soulseek-rs-amd64.deb stays a working link; the nightly pair replaces itself on the rolling prerelease.
This commit is contained in:
@@ -105,6 +105,12 @@ jobs:
|
||||
dry-run: true
|
||||
dry-run-intended: true
|
||||
|
||||
- name: Build .deb and .rpm
|
||||
if: endsWith(matrix.target, '-musl')
|
||||
env:
|
||||
TARGET: ${{ matrix.target }}
|
||||
run: sh scripts/package-linux.sh "target/$TARGET/release/soulseek-rs" "$SOULSEEK_RS_VERSION" "$TARGET" . soulseek-rs-nightly
|
||||
|
||||
- name: Store packaged binary
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
@@ -112,6 +118,8 @@ jobs:
|
||||
path: |
|
||||
${{ steps.package.outputs.tar || steps.package.outputs.zip }}
|
||||
${{ steps.package.outputs.sha256 }}
|
||||
soulseek-rs-nightly-*.deb
|
||||
soulseek-rs-nightly-*.rpm
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
|
||||
@@ -147,6 +155,10 @@ jobs:
|
||||
soulseek-rs-nightly-aarch64-apple-darwin.sha256
|
||||
soulseek-rs-nightly-x86_64-pc-windows-msvc.sha256
|
||||
soulseek-rs-nightly-aarch64-pc-windows-msvc.sha256
|
||||
soulseek-rs-nightly-amd64.deb
|
||||
soulseek-rs-nightly-arm64.deb
|
||||
soulseek-rs-nightly-x86_64.rpm
|
||||
soulseek-rs-nightly-aarch64.rpm
|
||||
)
|
||||
printf '%s\n' "${expected[@]}" | sort > "$RUNNER_TEMP/expected-assets"
|
||||
find dist -maxdepth 1 -type f -exec basename {} \; | sort > "$RUNNER_TEMP/actual-assets"
|
||||
@@ -234,6 +246,7 @@ jobs:
|
||||
timeout-minutes: 5
|
||||
env:
|
||||
VERSION: ${{ needs.source.outputs.version }}
|
||||
DOWNLOAD: https://github.com/${{ github.repository }}/releases/download/nightly
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -260,3 +273,19 @@ jobs:
|
||||
PATH="$RUNNER_TEMP/wget-path" /bin/sh website/public/install.sh --nightly
|
||||
"$SOULSEEK_RS_INSTALL_DIR/soulseek-rs" --version | grep -F "$VERSION"
|
||||
|
||||
- name: Install the .deb
|
||||
run: |
|
||||
curl -fsSLO "$DOWNLOAD/soulseek-rs-nightly-amd64.deb"
|
||||
sudo apt-get install -y ./soulseek-rs-nightly-amd64.deb
|
||||
soulseek-rs --version | grep -F "$VERSION"
|
||||
dpkg -L soulseek-rs | grep -Fx /usr/share/man/man1/soulseek-rs.1.gz
|
||||
dpkg -L soulseek-rs | grep -Fx /usr/share/zsh/vendor-completions/_soulseek-rs
|
||||
|
||||
- name: Install the .rpm
|
||||
run: |
|
||||
docker run --rm fedora:latest sh -ec "
|
||||
dnf install -y '$DOWNLOAD/soulseek-rs-nightly-x86_64.rpm'
|
||||
soulseek-rs --version | grep -F '$VERSION'
|
||||
rpm -ql soulseek-rs | grep -Fx /usr/share/man/man1/soulseek-rs.1.gz
|
||||
rpm -ql soulseek-rs | grep -Fx /usr/share/zsh/site-functions/_soulseek-rs
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user