Commit Graph
15 Commits
Author SHA1 Message Date
tiennm99 f7c00893b0 ci(release): run the full CI on the tag before building a release
ci.yml is now callable with a ref to test. The release workflow calls it on the prepared tag and both build jobs wait for it, so a tag whose sources fail tests, lint or the build publishes nothing. A called run gets its own concurrency group and is never cancelled. The release steps now push main and wait for green CI before pushing the tag.
2026-10-23 03:07:15 +07:00
tiennm99 e7031011f3 fix(release): sign the AppImage in its own step, away from the bundler
The AppImage bundler downloads and runs unpinned linuxdeploy tools, so the updater signing key and its password no longer reach the bundle step. A separate step signs the renamed AppImage with tauri signer sign, as the Windows job signs the exe.
2026-10-23 03:07:06 +07:00
tiennm99 6afd603d5e refactor: rename the project to usage-monitor
Rename the crate, binary, product name, identifier, settings folder, log
file, autostart entry, user agent, updater endpoint and release assets.
Legacy Win32 clients still update: they fall back to the first .exe asset,
and the legacy rollback workflow reads the package name from the ref it
builds. Upgraded installs start with default settings.
2026-10-22 16:59:32 +07:00
tiennm99 65d667b5e1 fix: accept CRLF checkouts when patching the legacy release lockfile version
Git for Windows checks Cargo.lock out with CRLF endings on the windows-latest runner, so the whole-line sed and grep anchors matched nothing and the rollback build stopped at its own check. The patterns now allow a trailing CR and keep it, and the check runs on a CR-stripped copy.
2026-10-21 19:30:07 +07:00
tiennm99 1afb0f6981 ci: keep checkout tokens off disk in release builds and patch the legacy lockfile instead of re-resolving it
The release build jobs run npm install scripts, so their checkouts no longer persist the token in .git/config. The legacy rollback sets the new version on the package's own Cargo.lock entry instead of running cargo update, so the --locked build resolves nothing and fails if the lockfile differs in anything else.
2026-10-21 19:02:49 +07:00
tiennm99 9a9b01ff07 ci: scope the updater signing key to signing steps and split the legacy publish job
The signing key moves from job-level to step-level env, so npm install scripts, setup actions and crate build scripts never see it. Linux compiles without the key and signs in a separate tauri bundle step. The legacy rollback builds and signs under a read-only, unpersisted token with the locked Tauri CLI, and a separate job holds the write token to publish.
2026-10-21 17:29:56 +07:00
tiennm99 81f29f2e4f ci: publish only plain vX.Y.Z tags so suffixed dry-run tags stay drafts 2026-10-21 17:19:23 +07:00
tiennm99 94019a13a3 ci: add a Windows-only legacy release workflow for rollback 2026-10-21 17:06:05 +07:00
tiennm99 435797ad91 ci: release a signed Windows exe, Linux AppImage and deb with latest.json 2026-10-21 17:06:05 +07:00
tiennm99 94722f2741 ci: refuse a release while the updater public key is empty 2026-10-21 16:45:27 +07:00
tiennm99 d8f339208d fix: list the desktop icons in bundle.icon
The bundler has no icon fallback, so an empty list breaks the AppImage
step and ships a deb without hicolor icons. Put icon.png first so it stays
the default window icon on Linux and macOS, and bundle the deb in the
Linux CI row to catch a broken list before release.
2026-10-21 12:04:54 +07:00
tiennm99 4e70aa1d22 ci: build and check on Windows, Linux and macOS
Windows and Ubuntu 22.04 run fmt, clippy, tests, lint, the JS tests and
a no-bundle release build. The Windows row checks the exe version
resource and uploads the exe as a 7-day artifact. macOS runs cargo check
as the compile gate.
2026-10-21 11:45:20 +07:00
tiennm99 1ba2883989 ci: switch back to windows-latest
Prefer staying on the floating tag — accept GitHub's auto-redirect to
windows-2025-vs2026 in mid-2026 rather than pin and chase.
2026-05-18 13:23:37 +07:00
tiennm99 713eb5bbde ci: bump actions to latest, pin windows runner
- actions/checkout v4 -> v6 (Node 24, addresses Node 20 deprecation).
- runs-on windows-latest -> windows-2025 (current image; pin avoids
  silent surprise when GitHub redirects windows-latest to a newer
  image mid-2026).
- Swatinem/rust-cache@v2 retained (v2 floating tag still maintained;
  latest is v2.9.1 under that major).
2026-05-18 11:00:39 +07:00
tiennm99 60cde291bd ci: add windows release workflow 2026-05-16 12:34:26 +07:00