From 810b2bf5f60a626f4679024724bb41e0be853121 Mon Sep 17 00:00:00 2001 From: Tibor Rogulja Date: Fri, 27 Mar 2026 14:12:23 +0100 Subject: [PATCH] Update GitHub Actions to Node.js 24, add tb-devctl to README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Bump actions/checkout v4 → v6 - Bump actions/upload-artifact v4 → v7 - Bump actions/download-artifact v4 → v8 - Add tb-devctl to README crates table - Update publish skill: 4 → 5 binaries Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/skills/cli-toolbox_publish/SKILL.md | 4 ++-- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 8 ++++---- README.md | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.claude/skills/cli-toolbox_publish/SKILL.md b/.claude/skills/cli-toolbox_publish/SKILL.md index 03a1bcf..0a2df48 100644 --- a/.claude/skills/cli-toolbox_publish/SKILL.md +++ b/.claude/skills/cli-toolbox_publish/SKILL.md @@ -11,14 +11,14 @@ Bump versions, push tags, trigger CI releases, and optionally install locally ## Context -This is for the `productiveio/cli-toolbox` workspace. It has 4 independent binaries: `tb-prod`, `tb-sem`, `tb-bug`, `tb-lf`. Each is versioned and released independently using git tags in `-v` format. +This is for the `productiveio/cli-toolbox` workspace. It has 5 independent binaries: `tb-prod`, `tb-sem`, `tb-bug`, `tb-lf`, `tb-devctl`. Each is versioned and released independently using git tags in `-v` format. **Critical:** GitHub Actions does NOT trigger individual workflows when multiple tags are pushed in a single `git push --tags`. Tags MUST be pushed one at a time with a small delay between them. ## Step 1: Parse arguments Parse `$ARGUMENTS` to determine: -- **Which tools** to publish: a specific tool name (e.g., `tb-prod`), multiple names, or `--all` for all 4 +- **Which tools** to publish: a specific tool name (e.g., `tb-prod`), multiple names, or `--all` for all 5 - **Version**: the target version (e.g., `0.2.0`). If omitted, ask the user. - **`--install`**: after releases complete, install binaries locally via `scripts/install.sh` - **`--with-skill`**: when installing, also install Claude Code skills (passed through to install.sh) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2036be..5e41549 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: name: Fmt, Clippy, Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: Swatinem/rust-cache@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8be0ddd..e89740b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,7 +47,7 @@ jobs: name: Fmt, Clippy, Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: Swatinem/rust-cache@v2 @@ -73,7 +73,7 @@ jobs: suffix: linux-x86_64 runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: Swatinem/rust-cache@v2 with: @@ -86,7 +86,7 @@ jobs: run: cp target/${{ matrix.target }}/release/${{ needs.prepare.outputs.crate }} ${{ needs.prepare.outputs.crate }}-${{ matrix.suffix }} - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ needs.prepare.outputs.crate }}-${{ matrix.suffix }} path: ${{ needs.prepare.outputs.crate }}-${{ matrix.suffix }} @@ -97,7 +97,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') && !(inputs.dry_run || false) steps: - name: Download all artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: path: artifacts diff --git a/README.md b/README.md index 6667d89..6d6955d 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ A Cargo workspace monorepo containing CLI tools built for internal use at [Produ | `tb-sem` | `tb-sem` | Semaphore CI insights — pipeline and job analysis | | `tb-prod` | `tb-prod` | Productive.io CLI — tasks, projects, people, time tracking | | `tb-bug` | `tb-bug` | Bugsnag insights — error and stability analysis | +| `tb-devctl` | `tb-devctl` | Local dev environment orchestrator for Productive services | | `toolbox-core` | (library) | Shared infrastructure: config, HTTP, output formatting, time parsing | ## Naming convention