Commit Graph

316 Commits

Author SHA1 Message Date
Peter Steinberger 025d4152d1 fix(ci): key concurrency by ref instead of sha 2026-02-16 09:42:58 +01:00
Peter Steinberger 3daaa19426 fix(ci): use JDK 17 for Android SDK setup 2026-02-16 09:36:54 +01:00
Onur cd44a0d01e
fix: codex and similar processes keep dying on pty, solved by refactoring process spawning (#14257)
* exec: clean up PTY resources on timeout and exit

* cli: harden resume cleanup and watchdog stalled runs

* cli: productionize PTY and resume reliability paths

* docs: add PTY process supervision architecture plan

* docs: rewrite PTY supervision plan as pre-rewrite baseline

* docs: switch PTY supervision plan to one-go execution

* docs: add one-line root cause to PTY supervision plan

* docs: add OS contracts and test matrix to PTY supervision plan

* docs: define process-supervisor package placement and scope

* docs: tie supervisor plan to existing CI lanes

* docs: place PTY supervisor plan under src/process

* refactor(process): route exec and cli runs through supervisor

* docs(process): refresh PTY supervision plan

* wip

* fix(process): harden supervisor timeout and PTY termination

* fix(process): harden supervisor adapters env and wait handling

* ci: avoid failing formal conformance on comment permissions

* test(ui): fix cron request mock argument typing

* fix(ui): remove leftover conflict marker

* fix: supervise PTY processes (#14257) (openclaw#14257) (thanks @onutc)
2026-02-16 02:32:05 +01:00
cpojer 4bdb857eca
chore: Use proper pnpm caching in one CI step. 2026-02-16 09:07:09 +09:00
Peter Steinberger 6c33bd9c67 ci: reduce node test OOM on linux 2026-02-15 19:41:39 +00:00
Peter Steinberger c8c8fc4530 ci(sandbox): add sandbox-common smoke 2026-02-15 00:57:13 +01:00
Shadow 68b00a5388
CI: add dirty label auto-response 2026-02-14 11:22:00 -06:00
Tak Hoffman 302dafbe1a
Docs: move submission guidance to GitHub templates (#16232)
* Docs: move submission guidance to GitHub templates

* Docs: make PR risk template entries flexible

* Docs: remove PR reviewer checklist section
2026-02-14 08:27:01 -06:00
Shadow f6232bc2b4
CI: close invalid items without response 2026-02-13 13:41:13 -06:00
Yi LIU aec3221391 chore: revert upstream labeler.yml to unblock fork push
The fork's OAuth token lacks the workflow scope required to push
changes to .github/workflows/. Reverting the upstream labeler.yml
change so the branch can be force-pushed. The PR merge into main
will pick up the correct upstream version automatically.
2026-02-13 19:43:20 +01:00
Shadow 2f9c523bbe
CI: run auto-response on label events (#15657) 2026-02-13 12:14:49 -06:00
Shadow 684578ecf6
CI: drop trusted label for experienced contributors (#15605) 2026-02-13 11:23:05 -06:00
Shadow 4aa035f38f
CI: gate auto-response with trigger label 2026-02-12 15:41:16 -06:00
Shadow 978effcf26
CI: close PRs with excessive labels 2026-02-12 15:35:32 -06:00
Shadow 282fb9ad52
CI: handle search 422 in labeler 2026-02-12 14:58:25 -06:00
Shadow 47cd7e29ef
CI: add labeler backfill dispatch 2026-02-12 14:43:14 -06:00
Shadow 1f41f7b1e6
CI: add contributor tier labels 2026-02-12 14:33:30 -06:00
Peter Steinberger 8fce7dc9b6 perf(test): add vitest slowest report artifact 2026-02-12 17:16:42 +00:00
Karim Naguib 7a0591ef87
fix(whatsapp): allow media-only sends and normalize leading blank payloads (#14408)
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-02-11 23:21:21 -06:00
Tak Hoffman c28cbac512
CI: add PR size autolabel workflow (#14410) 2026-02-11 21:12:27 -06:00
cpojer c2178e2522
chore: Cleanup useless CI job. 2026-02-12 09:37:45 +09:00
Vignesh fa906b26ad
feat: IRC — add first-class channel support
Adds IRC as a first-class channel with core config surfaces (schema/hints/dock), plugin auto-enable detection, routing/policy alignment, and docs/tests.

Co-authored-by: Vignesh <vigneshnatarajan92@gmail.com>
2026-02-10 17:33:57 -06:00
Shadow cfd1fa4bd2
Revert "CI: extend stale timelines to be contributor-friendly (#13209)"
This reverts commit 656a467518.
2026-02-10 10:24:28 -06:00
quotentiroler bf308cf6a8 CI: expand Docker Release paths-ignore to skip on any markdown 2026-02-10 00:39:26 -08:00
max 656a467518
CI: extend stale timelines to be contributor-friendly (#13209)
Extends stale automation timelines:

- Issues: 30 days stale → 14 days close (44 total, was 12)
- PRs: 14 days stale → 7 days close (21 total, was 8)

PR #13209
2026-02-09 22:34:36 -08:00
Shadow e7f0769c82 CI: configure stale automation 2026-02-09 23:37:12 -06:00
Shadow f38dfe4544 Chore: add testflight auto-response 2026-02-09 22:52:46 -06:00
quotentiroler 5c62e4d51b Improve code analyzer for independent packages, CI: only run release-check on push to main 2026-02-09 19:57:13 -08:00
quotentiroler 6d26ba3bb6 only check is check-docs when only docs changed 2026-02-09 18:05:13 -08:00
quotentiroler 039aaf176e CI: cleanup and fix broken job references
- Fix code-size -> code-analysis job name (5 jobs had wrong dependency)
- Remove useless install-check job (was no-op)
- Add explicit docs_only guard to release-check
- Remove dead submodule checkout steps (no submodules in repo)
- Rename detect-docs-only -> detect-docs-changes, add docs_changed output
- Reorder check script: format first for faster fail
- Fix billing error test (PR #12946 removed fallback detection but not test)
2026-02-09 17:52:51 -08:00
quotentiroler 64cf50dfc3 chore: rename format scripts for conventional naming
- format = fix (write)

- format:check = check only

- Update CI to use format:check
2026-02-09 17:11:16 -08:00
Shadow 8e607d927c Docs: require labeler + label updates for channels/extensions 2026-02-09 17:08:18 -08:00
Shadow 70f9edeec7 CI: check maintainer team membership for labels 2026-02-09 18:59:41 -06:00
quotentiroler ffeed212dc ci(docker): use registry cache for persistent layer storage 2026-02-09 15:05:37 -08:00
quotentiroler a172ff9ed2 docs: SEO and AI discoverability improvements
- Add description to docs.json for llms.txt blockquote summary
- Add title frontmatter to 10 docs files for llms.txt link text
- ci(docker): skip builds for docs-only changes
2026-02-09 14:20:56 -08:00
max 65dae9a088
ci: add SwiftPM cache, fix Mintlify frontmatter (#12863)
* ci: add SwiftPM cache to macOS job, fix action description

* ci: fix frontmatter, remove DerivedData cache
2026-02-09 12:40:58 -08:00
quotentiroler 0b7e561434 ci: split format/lint into tiered gates with shared setup action 2026-02-09 12:24:11 -08:00
quotentiroler dd25b96d0b ci: make code-size depend on checks-lint 2026-02-09 12:14:57 -08:00
quotentiroler 715e8b5440 ci: lint/format failures also block heavy jobs 2026-02-09 11:54:37 -08:00
quotentiroler 57a598c013 feat(ci): code-size gates heavy jobs, re-enable --strict 2026-02-09 11:53:29 -08:00
max 50b3d32d3c
CI: add code-size check for files crossing LOC threshold (#12810)
* CI: add code-size check for files crossing LOC threshold

* feat(ci): add duplicate function detection to CI code-size check

The --compare-to mode now also detects new duplicate function names
introduced by a PR. Uses git diff to scope checks to changed files
only, keeping CI fast.

* fix(ci): address review feedback for code-size check

- Validate git ref upfront; exit 2 if ref doesn't exist
- Distinguish 'file missing at ref' from genuine git errors
- Explicitly fetch base branch ref in CI workflow
- Raise threshold from 700 to 1000 lines

* fix(ci): exclude Swabble, skills, .pi from code analysis

* update gitignore for pycache

* ci: make code-size check informational (no failure on violations)
2026-02-09 11:34:18 -08:00
max a1123dd9be
Centralize date/time formatting utilities (#11831) 2026-02-08 04:53:31 -08:00
Gustavo Madeira Santana cef9bfce22
CI: scope heavy jobs, build once, and remove duplicate validation work (#11570)
* CI: scope jobs and reuse build artifacts

* CI: fix scope fallback and remove unused artifact job

* CI: remove setup-node pnpm cache inputs

* CI: add pnpm store cache and dist artifact smoke

* CI: extract pnpm cache action and consume dist artifact
2026-02-08 02:08:56 -08:00
max 8da20027c4
CI: skip heavy jobs on docs-only changes (#11328) 2026-02-08 07:43:47 +09:00
Marcus Castro 47596257ea ci: add concurrency controls, consolidate macOS jobs, optimize Windows CI 2026-02-06 23:31:48 -08:00
MattQ 7159d3b254
Docs: escape hash symbol in help channel names in issue template (#9695) 2026-02-05 13:27:50 -08:00
Josh Palmer 2483f26c23 Channels: add Feishu/Lark support 2026-02-03 14:27:13 -08:00
cpojer a8893094ea
fix: CI: We no longer need to test the tsc build with Bun, we are always using `tsdown` to build now. 2026-02-03 21:34:49 +09:00
Shadow da9f28d270 CI: label maintainer issues 2026-02-02 09:26:46 -06:00
vignesh07 e74235fdce ci(formal): compute drift for generated/ before model checking 2026-02-02 00:43:28 -08:00
vignesh07 f37b79cf4f ci(formal): add routing-trirule + proxy-header-spoof targets 2026-02-02 00:43:28 -08:00
vignesh07 889480cef9 ci(formal): include latest reliability/conformance model targets 2026-02-02 00:43:28 -08:00
Shadow 20a603de01
Update auto-response messages with new links 2026-02-01 11:25:55 -06:00
vignesh07 9d9378436b ci(formal): fix formal models checkout repo (vignesh07/clawdbot-formal-models) 2026-02-01 01:59:16 -08:00
vignesh07 141dc1af4b ci(formal): checkout formal models from canonical repo main 2026-02-01 01:59:16 -08:00
vignesh07 c83c19d9cd ci(formal): run TLC model suite (green) + negative suite (non-blocking) 2026-02-01 01:59:16 -08:00
Shadow 29de43d307 CI: auto-label moltbook issues 2026-01-31 19:45:48 -06:00
Vignesh 7387bc574f
Merge pull request #5807 from openclaw/ci/formal-conformance-alias-check 2026-01-31 17:39:53 -08:00
cpojer f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
vignesh07 367372f526 ci: run formal model alias consistency check 2026-01-31 16:52:15 -08:00
vignesh07 baf9505bfd ci: add informational formal models conformance check 2026-01-31 14:06:17 -08:00
cpojer 1f2fb823a3
fix: CI: Run build and lint together since lint depends on build now. 2026-01-31 23:15:15 +09:00
cpojer 36b0070b71
fix: Build before linting in CI since we are now linting the extensions folder with `--type-aware`. 2026-01-31 23:08:24 +09:00
cpojer 8cab78abbc
chore: Run `pnpm format:fix`. 2026-01-31 21:13:13 +09:00
cpojer 76361ae3ab
revert: Switch back to `tsc` for compiling. 2026-01-31 18:31:49 +09:00
cpojer f99e3ddd6d
Run `tsgo` on CI. 2026-01-31 15:44:36 +09:00
cpojer 762652279b
Switch from TypeScript to TypeScript Go. Use `pnpm tsgo` for Typechecks. 2026-01-31 15:33:15 +09:00
Peter Steinberger 85dd070dea chore: pin workflow actions + tighten permissions 2026-01-31 06:22:48 +01:00
Nate 28f8d00e9f fix: update install URLs from clawd.bot to openclaw.ai 2026-01-30 00:19:20 -06:00
Shadow 6fc3ca4996
CI: add auto-response labels 2026-01-27 23:17:22 -06:00
Alex Fallah 289440256b fix: update remaining ClawdbotKit path references to MoltbotKit
- scripts/bundle-a2ui.sh: A2UI_APP_DIR path
- package.json: format:swift and protocol:check paths
- scripts/protocol-gen-swift.ts: output paths
- .github/dependabot.yml: directory path and comment
- .gitignore: build cache paths
- .swiftformat: exclusion paths
- .swiftlint.yml: exclusion path
- apps/android/app/build.gradle.kts: assets.srcDir path
- apps/ios/project.yml: package path
- apps/ios/README.md: documentation reference
- docs/concepts/typebox.md: documentation reference
- apps/shared/MoltbotKit/Package.swift: fix argument order
2026-01-27 14:17:20 -06:00
Peter Steinberger 889882f339 fix: cap windows vitest workers in ci 2026-01-27 15:51:21 +00:00
Peter Steinberger 3817e0ce2c fix: bundle a2ui before tests 2026-01-27 15:38:31 +00:00
Peter Steinberger 3015e11fd7 fix: stabilize install smoke against clawdbot installer 2026-01-27 14:58:01 +00:00
Shadow 58b96ca0c0
CI: sync labels on PR updates 2026-01-26 19:21:31 -06:00
Shadow d34ae86114
chore: expand labeler coverage 2026-01-26 15:01:11 -06:00
Shadow bdea265704
CI: run auto-response on pull_request_target 2026-01-26 14:37:39 -06:00
Shadow ec75e0b3dc
CI: use app token for auto-response 2026-01-26 14:36:29 -06:00
alexstyl 39d219da59 Add FUNDING.yml 2026-01-26 19:00:46 +00:00
Shadow 403c397ff5
Docs: add cli/security labels 2026-01-26 09:36:58 -06:00
Shadow f3e3c4573b
Docs: add LINE channel guide 2026-01-26 08:50:18 -06:00
Shadow 678ad9e3ae
CI: expand web-ui label globs 2026-01-25 21:23:27 -06:00
Shadow 1f06f8031e
CI: use app token for labeler 2026-01-25 21:15:45 -06:00
Shadow a989fe8af9
CI: update labeler v5 config 2026-01-25 21:08:23 -06:00
Shadow 9c8e8c5c2d
CI: increase Node heap size for macOS checks (#1890)
Co-authored-by: Zach Knickerbocker <realZachi@users.noreply.github.com>
2026-01-25 20:45:42 -06:00
Shadow 28fe95ac5e
Docs: note labeler updates 2026-01-25 20:39:44 -06:00
Shadow 6b6284c69c
CI: add PR labeler + label sync 2026-01-25 20:37:31 -06:00
Peter Steinberger c8063bdcd8 fix(ci): pin gradle and normalize gemini cli test paths 2026-01-25 15:27:03 +00:00
Peter Steinberger 8257ec6a1f ci: harden pnpm setup 2026-01-25 13:12:08 +00:00
Peter Steinberger 0f5f7ec22a ci: stabilize pnpm setup 2026-01-25 12:34:16 +00:00
Dan Guido 48aea87028
feat: add prek pre-commit hooks and dependabot (#1720)
* feat: add prek pre-commit hooks and dependabot

Pre-commit hooks (via prek):
- Basic hygiene: trailing-whitespace, end-of-file-fixer, check-yaml, check-added-large-files, check-merge-conflict
- Security: detect-secrets, zizmor (GitHub Actions audit)
- Linting: shellcheck, actionlint, oxlint, swiftlint
- Formatting: oxfmt, swiftformat

Dependabot:
- npm and GitHub Actions ecosystems
- Grouped updates (production/development/actions)
- 7-day cooldown for supply chain protection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add prek install instruction to AGENTS.md

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:53:23 +00:00
Denys Vitali 15a9c21203
Add Build & Release Docker Image workflows (#1602)
* ci: build & release docker image

* ci: sync docker-release workflow updates

Squashes:
- ci: use correct runs-on
- ci: build images

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove submodule checkout from docker-release.yml

Removed submodule checkout step from Docker release workflow.

* Simplify Docker release workflow by removing submodule checkout

Removed submodule checkout step from Docker release workflow.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-24 19:23:55 +00:00
Peter Steinberger 3de5ea818d ci: speed up install smoke on PRs 2026-01-23 09:05:15 +00:00
hyaxia f3c9252840 Security: add detect-secrets scan 2026-01-15 03:14:43 +00:00
Peter Steinberger c379191f80 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00
Peter Steinberger 93fbd103ba ci: set install smoke previous 2026-01-14 00:11:45 +00:00
Peter Steinberger ccd8950d40 ci: stabilize installer smoke 2026-01-12 00:17:07 +00:00
Peter Steinberger 6b2634512c ci: fix installer site checkout path 2026-01-12 00:06:41 +00:00
Peter Steinberger 9211183f2d ci: fix installer smoke clone 2026-01-12 00:04:26 +00:00
Peter Steinberger 60430fcd2e chore: harden installer and add smoke ci 2026-01-12 00:00:54 +00:00
Peter Steinberger 172fc777ed ci: use node 22.x 2026-01-10 02:20:20 +01:00
Peter Steinberger a6822e1210 ci: pin node to engine minimum 2026-01-10 02:17:59 +01:00
Peter Steinberger c75d77e36c ci: add clean install check 2026-01-10 01:50:32 +01:00
Peter Steinberger 45ff927980 ci: enforce frozen pnpm install 2026-01-10 01:49:24 +01:00
Peter Steinberger 3f1415b8fe ci: run pnpm test on macOS (PRs) 2026-01-09 22:06:36 +00:00
Peter Steinberger e8d75a39bc ci: drop output sanitize wrapper 2026-01-09 16:49:12 +01:00
Peter Steinberger 4ffbd9802a refactor(test): consolidate temp home + vitest setup 2026-01-09 16:41:05 +01:00
Peter Steinberger 2aeeeff65f ci: sanitize CI test output 2026-01-09 15:39:16 +01:00
Peter Steinberger d28c266771 fix: sanitize Windows test output 2026-01-09 15:32:55 +01:00
Peter Steinberger 92b792b3f0 fix: land #569 (thanks @bjesuiter) 2026-01-09 15:32:55 +01:00
blacksmith-sh[bot] a596f32a8e
Migrate workflows to Blacksmith 2026-01-09 14:06:46 +00:00
Peter Steinberger 908a7e4fcb chore: sync ci tasks and relax telegram test timeouts 2026-01-08 09:09:33 +01:00
Peter Steinberger c15a87e75f ci: add windows checks 2026-01-08 01:46:25 +00:00
Peter Steinberger d0e60d402b ci(android): avoid interactive license prompt 2026-01-07 17:57:32 +00:00
Ayaan Zaidi 7a48b908e4
refactor: replace tsx with bun for TypeScript execution (#278) 2026-01-06 07:14:08 +00:00
Shadow f29efb9862
docs: add issue templates 2026-01-05 23:55:51 -06:00
Shadow cc07ea82a4 CI: split macOS/android checks 2026-01-03 23:25:51 +01:00
Peter Steinberger 6c406b488d ci: consolidate check jobs 2026-01-03 22:25:29 +00:00
Shadow e2709a3ebd CI: split macOS/android checks 2026-01-03 21:55:39 +00:00
Peter Steinberger ad91a09b07 ci: avoid macos runner queue 2025-12-26 02:02:49 +00:00
Peter Steinberger 97539db36d ci: skip ios job 2025-12-26 00:04:46 +00:00
Peter Steinberger 9fbd3cc16f ci: ignore ios failures 2025-12-25 23:55:55 +00:00
Peter Steinberger 1cd167a59a ci: run on node 24 2025-12-25 23:05:09 +01:00
Peter Steinberger 2868dc975c chore: require node >=22.12 and fix swiftformat lint 2025-12-25 23:02:31 +01:00
Peter Steinberger b850b0dacf ci: install swiftlint and swiftformat for ios 2025-12-21 03:44:18 +01:00
Peter Steinberger a01f4998c5 ci: split ios workflow 2025-12-21 00:49:20 +00:00
Peter Steinberger 5b193d014e ci: lower iOS coverage gate 2025-12-19 18:23:03 +01:00
Peter Steinberger 0b8e8144af ci: relax iOS coverage gate 2025-12-18 14:26:13 +01:00
Peter Steinberger 59f9073e21 ci: retry swiftpm build/test 2025-12-18 13:37:58 +01:00
Peter Steinberger acdf70e928 ci: retry submodule checkout 2025-12-18 13:26:09 +01:00
Peter Steinberger 4d4bcaab1e ci: fix iOS simulator selection indentation 2025-12-14 04:13:07 +00:00
Peter Steinberger 265a3dff27 ci: create iOS simulator when missing 2025-12-14 04:10:06 +00:00
Peter Steinberger 3885a2a20f ci: fix yaml indentation for python blocks 2025-12-14 03:51:13 +00:00
Peter Steinberger f427bec31c ci: fix python heredoc indentation 2025-12-14 03:46:03 +00:00
Peter Steinberger c7022cc139 ci: pick iOS simulator via simctl json 2025-12-14 03:39:33 +00:00
Peter Steinberger 65a0de8979 ci: raise iOS coverage gate to 50% 2025-12-14 03:39:33 +00:00
Peter Steinberger 7dd8a7f2e3 ci: add Android build job 2025-12-14 03:31:00 +00:00
Peter Steinberger 56bbcfc3ee ci: enforce 40% iOS coverage 2025-12-14 03:29:08 +00:00
Peter Steinberger 05e77b69c4 ci: emit swift + iOS coverage 2025-12-14 03:07:43 +00:00
Peter Steinberger 1d79254053 ci: run iOS xcodebuild tests 2025-12-14 02:37:47 +00:00
Peter Steinberger 5a1687484c fix(ci): stabilize runners 2025-12-13 20:04:33 +00:00
Peter Steinberger 3ced3f4c82 ci/docs: enforce protocol check and deprecate control api 2025-12-09 17:03:05 +01:00
Peter Steinberger d9eb320bba ci: test node and bun runtimes 2025-12-09 01:00:35 +01:00
Peter Steinberger 15381c7832 ci: use macos-latest with Xcode 26.1 2025-12-07 15:00:01 +01:00
Peter Steinberger c6e3b490f5 ci: add swiftlint/swiftformat for mac app 2025-12-06 04:02:43 +01:00
Peter Steinberger 19677f0622 ci: add macOS app build 2025-12-06 03:56:49 +01:00
Peter Steinberger 7e9e8fd9c9 ci: fix node path and lint warnings 2025-11-25 12:08:08 +01:00
Peter Steinberger cee9c28dfa ci: relax engine check and drop frozen lockfile 2025-11-25 12:02:49 +01:00
Peter Steinberger adad036acf ci: force PATH to setup-node bin during install 2025-11-25 12:01:23 +01:00
Peter Steinberger ab60ae4c6b ci: use corepack pnpm with setup-node 22 2025-11-25 11:59:46 +01:00
Peter Steinberger 39aa9d5808 ci: force latest Node 22 and echo versions before install 2025-11-25 11:57:58 +01:00
Peter Steinberger 5b17aba4fc ci: use setup-node 22.9.0 and pnpm action 2025-11-25 06:21:54 +01:00
Peter Steinberger 9f952f3ab8 ci: force PATH to custom Node 22.21.1 before pnpm 2025-11-25 06:17:19 +01:00
Peter Steinberger 865abcf1f5 ci: manually install Node 22.9.0 and run pnpm 2025-11-25 05:58:55 +01:00
Peter Steinberger 5291cb0dc2 ci: install pnpm via npm instead of action 2025-11-25 05:47:43 +01:00
Peter Steinberger f2438f82ab ci: rely on pnpm/action-setup defaults for PNPM_HOME 2025-11-25 05:46:31 +01:00
Peter Steinberger df6954541e ci: ensure pnpm on PATH before install 2025-11-25 05:45:04 +01:00
Peter Steinberger 11a486400f ci: drop setup-node (use runner Node) 2025-11-25 05:42:01 +01:00
Peter Steinberger 045a138b1b ci: fall back to Node 20.18.0 (setup-node supported) 2025-11-25 05:40:39 +01:00
Peter Steinberger 87a42fcdce ci: fix pnpm cache path for setup-node 2025-11-25 05:39:32 +01:00
Peter Steinberger dc0014b85d ci: pin Node to 22.9.0 (available in setup-node manifest) 2025-11-25 05:37:07 +01:00
Peter Steinberger 4d90270886 ci: use available Node 22.21.1 2025-11-25 05:35:59 +01:00
Peter Steinberger a1fab23439 ci: pin Node to 22.11.0 and print version 2025-11-25 05:16:08 +01:00
Peter Steinberger ac2bdcbea6 ci: run vitest in workflow 2025-11-25 04:48:23 +01:00
Peter Steinberger 938e237411 Add command modules and tests; commit remaining changes 2025-11-25 00:12:12 +01:00
Peter Steinberger d8bfd6ba5e Add Biome linting and improve webhook error handling 2025-11-24 14:06:52 +01:00