fix: editor split, stop flag in actions, write errors, history on failure, expect panic, string match

- src/main.rs: split VISUAL/EDITOR into prog+args, drop expect panic in reap_timer, propagate write_timer errors, check stop during actions, record history on partial failure, use const for stop msg
- Cargo.toml: add authors/homepage, bump noyalib 0.0.12->0.0.13
- release.yaml: tighten tag glob, fix curl 404 fallback, URI-encode asset name, upgrade upload-artifact v3->v4
- ci.yaml: add cargo cache step
- README.md: sync feature list, fix push to two-step
- RELEASING.md: clarify Cargo.lock regeneration
This commit is contained in:
2026-07-07 23:13:19 +02:00
parent 69e20c89ee
commit 1a77043a71
7 changed files with 86 additions and 43 deletions
+8
View File
@@ -14,6 +14,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Cache Cargo registry and build
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
target
key: cargo-${{ hashFiles('Cargo.lock') }}
- name: Check formatting
shell: bash
run: cargo fmt --check
+5 -4
View File
@@ -3,7 +3,7 @@ name: release
"on":
push:
tags:
- "v*.*.*"
- "v[0-9]*.[0-9]*.[0-9]*"
workflow_dispatch:
permissions:
@@ -69,7 +69,7 @@ jobs:
release_url="https://gitea.forust.xyz/api/v1/repos/forust/gosleep/releases"
existing="$(curl -fsS \
"${release_url}/tags/${tag}" \
-H "Authorization: token ${GITEA_TOKEN}" || true)"
-H "Authorization: token ${GITEA_TOKEN}")" || existing='{}'
release_id="$(printf '%s' "$existing" | jq -r '.id // empty')"
if [ -z "$release_id" ]; then
@@ -112,14 +112,15 @@ jobs:
-X DELETE "${release_url}/${release_id}/assets/${asset_id}" \
-H "Authorization: token ${GITEA_TOKEN}"
fi
encoded="$(printf '%s' "$name" | jq -sRr @uri)"
curl -fsS \
-X POST "${release_url}/${release_id}/assets?name=${name}" \
-X POST "${release_url}/${release_id}/assets?name=${encoded}" \
-H "Authorization: token ${GITEA_TOKEN}" \
-F "attachment=@${asset}"
done
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: gosleep-timer-linux-amd64
path: dist/*