Yannik Tausch
b45cdf862a
ci: add skills-ref lint step for SKILL.md validation ( #626 )
2026-03-25 09:44:54 -06:00
googleworkspace-bot
186e88caa0
chore: release versions ( #616 )
2026-03-24 15:01:28 -06:00
Justin Poehnelt
029e5def2b
feat: extract google-workspace library crate (cargo workspace) ( #613 )
...
* feat: extract google-workspace library crate and restructure as cargo workspace
- Create crates/google-workspace/ with public modules: discovery, error, services, validate, client
- Move CLI binary to crates/cli/ (package: google-workspace-cli, binary: gws)
- Root Cargo.toml is now workspace-only
- Binary modules use thin re-exports from library (zero behavioral changes)
- Discovery fetch_discovery_document accepts cache_dir parameter for library consumers
- Break output.rs / error.rs circular dep by moving char detection to library validate module
- Update CI workflows for workspace (--workspace flags, path filters)
- Update dist-workspace.toml and policy.yml for new crate locations
Closes #386
* refactor: rename crates/cli to crates/google-workspace-cli
* chore: sync CLI version to 0.20.1 and regenerate skills
* chore: update labeler paths for workspace crate layout
* fix: update flake.nix to read version from CLI crate Cargo.toml
* fix: use tokio::fs for non-blocking I/O in library discovery cache
* docs: update AGENTS.md source layout for workspace structure
* docs: add crate-level READMEs for crates.io
---------
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-24 14:40:03 -06:00
Justin Poehnelt
4663021b4a
fix(ci): skip publish-skills on fork PRs ( #604 )
...
* fix(ci): skip publish-skills on fork PRs where secrets are unavailable
* chore: regenerate skills [skip ci]
---------
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
Co-authored-by: googleworkspace-bot <googleworkspace-bot@users.noreply.github.com >
2026-03-24 11:50:06 -06:00
Justin Poehnelt
d65578190e
ci: Add CI validation for changeset package names and update style guide with new sections and AGENTS.md reference. ( #552 )
2026-03-18 14:42:44 -06:00
Zsombor Szabo
087066f946
fix(auth): enable native keyring backends on top of #359 ( #373 )
...
* fix(auth): enable native keyring backends
* test(auth): serialize config dir env test
* fix(auth): scope native keyring backends to desktop targets
* fix(ci): tolerate read-only gemini review tokens
* test(credential_store): cover race winner sync path
2026-03-12 09:58:52 -06:00
Justin Poehnelt
bd5041e3da
chore: Update workflow to use GOOGLEWORKSPACE_BOT_TOKEN and googleworkspace-bot identity for operations. ( #388 )
2026-03-10 14:25:45 -06:00
Justin Poehnelt
ad99aa9a2a
ci: use bot token for /gemini review comment ( #384 )
...
Gemini Code Assist ignores comments from github-actions[bot].
Using GOOGLEWORKSPACE_BOT_TOKEN posts as googleworkspace-bot instead.
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-10 13:23:53 -06:00
jpoehnelt-bot
80fd6c51ea
ci: add workflow_dispatch trigger to Release (Changeset)
...
Allows manual re-triggering when bot-merged PRs don't fire the push event.
2026-03-10 12:28:15 -06:00
Justin Poehnelt
b0f159eea0
ci: run smoketest immediately after linux build, gate other builds on it ( #349 )
...
Split x86_64-unknown-linux-gnu out of the build matrix into a dedicated
build-linux job. The smoketest now depends only on build-linux, running
as soon as that single build completes. The remaining cross-platform
builds (macOS, Windows, aarch64-linux) depend on the smoketest, so they
are skipped entirely if the smoketest fails — saving CI minutes.
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-09 16:04:44 -06:00
Justin Poehnelt
5872dbe474
fix(credential_store): stop persisting encryption key file when keyring is available ( #345 )
...
Previously, get_or_create_key() unconditionally wrote the encryption key
to ~/.config/gws/.encryption_key on first run, even when the OS keyring
was available. This left the key material on disk as a plain file,
making credentials portable by copying the config directory.
Changes:
- Extract save_key_file() helper to deduplicate file-writing logic
- On keyring read success: delete stale .encryption_key (migration)
- On NoEntry + existing file: migrate key into keyring, then delete file
- On NoEntry + new key: try keyring first, only write file as fallback
Fixes #344
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-09 15:51:05 -06:00
Justin Poehnelt
06edf7b05f
fix(ci): add missing tool input to taiki-e/install-action for cargo-llvm-cov ( #347 )
...
When actions were SHA-pinned in #341 , the tool name was lost. The
original uses: taiki-e/install-action@cargo-llvm-cov passed the tool
name as the tag. After pinning to a SHA, the tool input must be
specified explicitly via with: tool: cargo-llvm-cov.
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-09 15:41:37 -06:00
Justin Poehnelt
00adb5cb23
ci: make sccache setup resilient to cache API outages ( #346 )
...
Remove RUSTC_WRAPPER from global env and set it per-job only after the
sccache-action succeeds. When GitHub's cache API is unavailable, CI now
falls through to a plain (uncached) cargo build instead of failing.
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-09 15:00:10 -06:00
Justin Poehnelt
d5d77d96d0
ci: pin all actions to a sha ( #341 )
2026-03-09 13:52:49 -06:00
Justin Poehnelt
5836d1527a
ci: ignore sccache errors when GitHub down ( #339 )
2026-03-09 12:54:05 -06:00
Justin Poehnelt
ba472602f6
build(ci): optimize nix and windows cache layers ( #331 )
2026-03-09 11:54:14 -06:00
Justin Poehnelt
7c7310a9a9
fix(ci): use default GITHUB_TOKEN instead of bot account for PR reviews
2026-03-09 11:06:46 -06:00
jpoehnelt-bot
1f47420caa
fix: extract CLA label job into dedicated workflow to prevent feedback loop
2026-03-05 16:00:49 -07:00
Justin Poehnelt
49f2e4aa79
ci: Add concurrency control to the automation workflow.
2026-03-05 15:55:10 -07:00
Justin Poehnelt
1ff5bc820f
ci: use pull_request_target
2026-03-05 15:34:44 -07:00
Justin Poehnelt
4b2702e539
ci: add path filtering to skip expensive jobs on non-Rust changes ( #216 )
...
- Add dorny/paths-filter to detect .rs, Cargo.toml/Lock, flake.nix/lock changes
- Gate test, lint, nix, skills, and build jobs behind change detection
- Remove duplicate coverage job (already in coverage.yml with Codecov upload)
- Main pushes always run all jobs unconditionally
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-05 14:28:17 -08:00
Justin Poehnelt
78817b048c
ci: auto-trigger Gemini Code Assist review on PR push ( #209 )
2026-03-05 13:54:03 -08:00
Justin Poehnelt
88cb65ce80
chore: auto triage and fmt ( #204 )
...
* chore: auto triage and fmt
* chore: address PR review — add area:core, setup.rs to auth, move formatter
---------
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-05 13:07:43 -08:00
Justin Poehnelt
62d6ddbfa9
chore: steps to reduce contributor friction ( #185 )
...
* chore: steps to reduce contributor friction
* Update CLAUDE.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-05 09:08:50 -08:00
Steve Bazyl
37ab483840
feat: Add nix flake ( #94 )
2026-03-04 22:21:36 -07:00
Justin Poehnelt
b3669e04a5
feat: Implement hourly cron and manual trigger for the generate-skills workflow to auto-sync skills via pull requests and downgrade CI drift check to a warning. ( #63 )
...
* feat: Implement hourly cron and manual trigger for the generate-skills workflow to auto-sync skills via pull requests and downgrade CI drift check to a warning.
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 12:57:20 -08:00
Justin Poehnelt
9564896032
fix: add hourly cron to drip-publish skills past rate limit
2026-03-04 12:38:19 -07:00
Justin Poehnelt
be29739699
fix: use explicit clawhub login for CI authentication
...
clawhub CLI requires explicit `clawhub login --token` call rather
than reading the CLAWHUB_TOKEN env var directly. Split the publish
step into separate authenticate and sync steps.
2026-03-04 12:36:07 -07:00
jpoehnelt-bot
e8d533e722
ci: add workflow to publish OpenClaw skills to ClawHub ( #55 )
...
* ci: add workflow to publish OpenClaw skills to ClawHub
* ci: use documented clawhub sync flags
* ci: harden publish-skills workflow
- Pin clawhub@0.7.0 for supply-chain safety
- Add concurrency group to prevent parallel publishes
- Add PR dry-run validation
- Guard against missing CLAWHUB_TOKEN secret
- Add changeset file
---------
Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com >
2026-03-04 12:15:05 -07:00
Justin Poehnelt
9935ddee39
ci: auto-generate and commit skills on branch push
2026-03-04 00:57:29 -07:00
Justin Poehnelt
214fc18d4f
ci: skip smoketest on fork pull requests ( #47 )
2026-03-04 00:24:13 -07:00
Justin Poehnelt
3cd4d522b2
fix: sync Cargo.toml version with changesets ( #7 )
2026-03-03 09:46:45 -08:00
Justin Poehnelt
fd99954627
fix: use custom tag-release script for private packages
2026-03-03 10:24:27 -07:00
Justin Poehnelt
4d4cabeb16
ci: add concurrency controls to cancel stale PR runs
2026-03-03 10:13:44 -07:00
Justin Poehnelt
8ab58d670f
ci: disable Windows Defender for cargo dirs
2026-03-03 10:10:40 -07:00
Justin Poehnelt
ceacdbae09
ci: fix release
2026-03-03 10:07:42 -07:00
Justin Poehnelt
a0ad08950d
ci: speed up builds with rust-cache, sccache, and artifact reuse ( #3 )
2026-03-03 09:01:42 -08:00
Justin Poehnelt
4ed67adb64
ci: Configure custom npm registry URL and prevent its overwriting in the release workflow.
2026-03-03 09:32:50 -07:00
Justin Poehnelt
835335d85b
fix: use changeset tag instead of publish, defer npm publishing to cargo-dist ( #2 )
...
* fix: use changeset tag instead of publish, defer npm publishing to cargo-dist
* fix: quote label names containing colons in labeler.yml
* chore: delete labeler
2026-03-02 16:49:37 -08:00
Justin Poehnelt
f75bf6dcf7
feat: implement cli ( #1 )
2026-03-02 17:26:21 -07:00