build: publish raw release binary
This commit is contained in:
@@ -56,9 +56,9 @@ jobs:
|
||||
tag="${GITHUB_REF##*/}"
|
||||
version="${tag#v}"
|
||||
mkdir -p dist
|
||||
cp target/release/gosleep-timer dist/gosleep-timer
|
||||
tar -C dist -czf "dist/gosleep-timer-${version}-linux-amd64.tar.gz" gosleep-timer
|
||||
sha256sum "dist/gosleep-timer-${version}-linux-amd64.tar.gz" > "dist/gosleep-timer-${version}-linux-amd64.tar.gz.sha256"
|
||||
binary="gosleep-timer-${version}-linux-amd64"
|
||||
cp target/release/gosleep-timer "dist/${binary}"
|
||||
sha256sum "dist/${binary}" > "dist/${binary}.sha256"
|
||||
|
||||
- name: Create Gitea release
|
||||
id: release
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
run: |
|
||||
release_url="https://gitea.forust.xyz/api/v1/repos/forust/gosleep/releases"
|
||||
release_id="${{ steps.release.outputs.release_id }}"
|
||||
for asset in dist/*.tar.gz dist/*.sha256; do
|
||||
for asset in dist/gosleep-timer-* dist/gosleep-timer-*.sha256; do
|
||||
name="$(basename "$asset")"
|
||||
release="$(curl -fsS \
|
||||
"${release_url}/${release_id}" \
|
||||
|
||||
+5
-5
@@ -80,10 +80,10 @@ The `.gitea/workflows/release.yaml` workflow will:
|
||||
|
||||
1. Re-run release gates: `cargo fmt --check`, `cargo test --locked`, `cargo clippy --locked -- -D warnings`, and YAML lint.
|
||||
2. Build `target/release/gosleep-timer`.
|
||||
3. Package `gosleep-timer-<version>-linux-amd64.tar.gz`.
|
||||
3. Copy binary as `gosleep-timer-<version>-linux-amd64`.
|
||||
4. Generate a SHA-256 checksum.
|
||||
5. Create a Gitea release.
|
||||
6. Upload the archive and checksum as release assets.
|
||||
6. Upload the binary and checksum as release assets.
|
||||
|
||||
The workflow is idempotent: if the release already exists, it reuses it and replaces assets with matching names.
|
||||
If any lint or test step fails, the build and release job will not run.
|
||||
@@ -96,7 +96,7 @@ If Actions are unavailable:
|
||||
version="$(cat VERSION)"
|
||||
cargo build --release --locked
|
||||
mkdir -p dist
|
||||
cp target/release/gosleep-timer dist/gosleep-timer
|
||||
tar -C dist -czf "dist/gosleep-timer-${version}-linux-amd64.tar.gz" gosleep-timer
|
||||
sha256sum "dist/gosleep-timer-${version}-linux-amd64.tar.gz" > "dist/gosleep-timer-${version}-linux-amd64.tar.gz.sha256"
|
||||
binary="gosleep-timer-${version}-linux-amd64"
|
||||
cp target/release/gosleep-timer "dist/${binary}"
|
||||
sha256sum "dist/${binary}" > "dist/${binary}.sha256"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user