2 Commits

Author SHA1 Message Date
forust a582913269 chore: release v1.1.3
release / verify (push) Successful in 25s
ci / rust (push) Successful in 47s
ci / lint-yaml (push) Successful in 5s
release / linux-amd64 (push) Successful in 36s
2026-07-03 23:49:01 +02:00
forust 911aaca355 fix: expose gitea token in release workflow
ci / rust (push) Successful in 46s
ci / lint-yaml (push) Successful in 5s
2026-07-03 23:44:22 +02:00
6 changed files with 50 additions and 10 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
View File
@@ -4,6 +4,13 @@ All notable changes to this project are documented here.
The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`. The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`.
## [1.1.3] - 2026-07-03
### Fixed
- Made the tag-based release workflow fail closed: lint and test gates now run before build and publish.
- Exposed Gitea Actions' built-in `${{ secrets.GITEA_TOKEN }}` to the release API steps so release creation and asset upload authenticate correctly.
## [1.1.2] - 2026-07-03 ## [1.1.2] - 2026-07-03
### Fixed ### Fixed
@@ -20,5 +27,6 @@ The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`
- Added YAML configuration, CLI `init`, `preview`, and `run` commands. - Added YAML configuration, CLI `init`, `preview`, and `run` commands.
- Added Gitea CI and tag-based release workflows. - Added Gitea CI and tag-based release workflows.
[1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3
[1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2 [1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2
[1.1.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.1 [1.1.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.1
Generated
+1 -1
View File
@@ -298,7 +298,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]] [[package]]
name = "gosleep-timer" name = "gosleep-timer"
version = "1.1.2" version = "1.1.3"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "gosleep-timer" name = "gosleep-timer"
version = "1.1.2" version = "1.1.3"
edition = "2024" edition = "2024"
rust-version = "1.85" rust-version = "1.85"
description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI" description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI"
+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
+1 -1
View File
@@ -1 +1 @@
1.1.2 1.1.3