fix: expose gitea token in release workflow
ci / rust (push) Successful in 46s
ci / lint-yaml (push) Successful in 5s

This commit is contained in:
2026-07-03 23:44:22 +02:00
parent 189ae75a01
commit 911aaca355
2 changed files with 39 additions and 7 deletions
+31 -1
View File
@@ -10,8 +10,38 @@ permissions:
contents: write contents: write
jobs: jobs:
linux-amd64: verify:
runs-on: [self-hosted, linux, arch, homelab] runs-on: [self-hosted, linux, arch, homelab]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check formatting
shell: bash
run: cargo fmt --check
- name: Run tests
shell: bash
run: cargo test --locked
- name: Run clippy
shell: bash
run: cargo clippy --locked -- -D warnings
- name: Lint YAML
shell: bash
run: |
docker run --rm \
-v "$PWD:/work" \
-w /work \
cytopia/yamllint:latest \
-c .yamllint .
linux-amd64:
needs: verify
runs-on: [self-hosted, linux, arch, homelab]
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
+8 -6
View File
@@ -40,7 +40,7 @@ https://gitea.forust.xyz/forust/gosleep.git
- `sha256sum` - `sha256sum`
- Docker, if using the YAML lint job as written - Docker, if using the YAML lint job as written
4. Confirm Actions job token permissions allow `contents: write`. 4. Confirm Actions job token permissions allow `contents: write`.
The release workflow uses Gitea Actions' built-in `GITEA_TOKEN`; no extra repository secret is required. The release workflow uses Gitea Actions' built-in `GITEA_TOKEN`, exposed in the workflow as `${{ secrets.GITEA_TOKEN }}`; no extra repository secret is required.
## Version Bump Checklist ## Version Bump Checklist
@@ -78,13 +78,15 @@ git push origin v1.1.2
The `.gitea/workflows/release.yaml` workflow will: The `.gitea/workflows/release.yaml` workflow will:
1. Build `target/release/gosleep-timer`. 1. Re-run release gates: `cargo fmt --check`, `cargo test --locked`, `cargo clippy --locked -- -D warnings`, and YAML lint.
2. Package `gosleep-timer-<version>-linux-amd64.tar.gz`. 2. Build `target/release/gosleep-timer`.
3. Generate a SHA-256 checksum. 3. Package `gosleep-timer-<version>-linux-amd64.tar.gz`.
4. Create a Gitea release. 4. Generate a SHA-256 checksum.
5. Upload the archive and checksum as release assets. 5. Create a Gitea release.
6. Upload the archive and checksum as release assets.
The workflow is idempotent: if the release already exists, it reuses it and replaces assets with matching names. 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.
## Manual Asset Build ## Manual Asset Build