Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a582913269 | |||
| 911aaca355 |
@@ -10,8 +10,38 @@ permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
linux-amd64:
|
||||
verify:
|
||||
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:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -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`.
|
||||
|
||||
## [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
|
||||
|
||||
### 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 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.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.1
|
||||
|
||||
Generated
+1
-1
@@ -298,7 +298,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
|
||||
|
||||
[[package]]
|
||||
name = "gosleep-timer"
|
||||
version = "1.1.2"
|
||||
version = "1.1.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "gosleep-timer"
|
||||
version = "1.1.2"
|
||||
version = "1.1.3"
|
||||
edition = "2024"
|
||||
rust-version = "1.85"
|
||||
description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI"
|
||||
|
||||
+8
-6
@@ -40,7 +40,7 @@ https://gitea.forust.xyz/forust/gosleep.git
|
||||
- `sha256sum`
|
||||
- Docker, if using the YAML lint job as written
|
||||
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
|
||||
|
||||
@@ -78,13 +78,15 @@ git push origin v1.1.2
|
||||
|
||||
The `.gitea/workflows/release.yaml` workflow will:
|
||||
|
||||
1. Build `target/release/gosleep-timer`.
|
||||
2. Package `gosleep-timer-<version>-linux-amd64.tar.gz`.
|
||||
3. Generate a SHA-256 checksum.
|
||||
4. Create a Gitea release.
|
||||
5. Upload the archive and checksum as release assets.
|
||||
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`.
|
||||
4. Generate a SHA-256 checksum.
|
||||
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.
|
||||
If any lint or test step fails, the build and release job will not run.
|
||||
|
||||
## Manual Asset Build
|
||||
|
||||
|
||||
Reference in New Issue
Block a user