Commit Graph

23 Commits

Author SHA1 Message Date
GitHub Action
d17c41a73d chore: bump version to 0.0.151 2026-01-13 18:32:23 +00:00
GitHub Action
6d5c8ac486 chore: bump version to 0.0.150 2026-01-12 21:53:09 +00:00
GitHub Action
2c474d689c chore: bump version to 0.0.149 2026-01-12 16:57:54 +00:00
Louis Knight-Webb
f30606b48a Fix gh CLI compatibility for older versions missing baseRefOid field
**Changes:**
1. Added `GhApiPr` and `GhApiRef` structs (lines 31-46) to deserialize the GitHub REST API response
2. Added `get_pr_info_via_api()` function (lines 103-141) as a fallback that uses `gh api repos/{owner}/{repo}/pulls/{number}`
3. Modified `get_pr_info()` (lines 166-170) to detect "unknown json field" errors and fall back to the API method

**How it works:**
- Modern `gh` CLI versions continue to use the faster `gh pr view --json` approach
- When an older `gh` CLI returns "Unknown JSON field: baseRefOid", the code catches this error and falls back to `gh api` which uses the stable REST API
- The REST API fields (`base.sha`, `head.sha`, `head.ref`) have been stable for years and work with all `gh` CLI versions
2026-01-12 10:14:34 +00:00
GitHub Action
bd09ba8bd0 chore: bump version to 0.0.148 2026-01-09 18:36:00 +00:00
GitHub Action
3ad03a0a99 chore: bump version to 0.0.147 2026-01-09 14:46:16 +00:00
GitHub Action
fe2215ba85 chore: bump version to 0.0.146 2026-01-08 19:40:01 +00:00
GitHub Action
ae852b297f chore: bump version to 0.0.145 2026-01-08 18:46:22 +00:00
Solomon
0f3ee560f3 Speedup pre-release CI runs (#1804) 2026-01-06 15:58:10 +00:00
GitHub Action
edef39c3fb chore: bump version to 0.0.144 2026-01-06 13:14:34 +00:00
GitHub Action
f99d2f06f2 chore: bump version to 0.0.143 2025-12-29 18:01:52 +00:00
GitHub Action
033ae2f1c6 chore: bump version to 0.0.142 2025-12-21 17:48:14 +00:00
GitHub Action
bcbe7aca69 chore: bump version to 0.0.141 2025-12-20 14:13:04 +00:00
GitHub Action
ca2b578231 chore: bump version to 0.0.140 2025-12-19 18:12:47 +00:00
GitHub Action
84ea4b71ee chore: bump version to 0.0.139 2025-12-19 09:32:22 +00:00
GitHub Action
fd210419cd chore: bump version to 0.0.138 2025-12-17 15:24:54 +00:00
GitHub Action
37af711712 chore: bump version to 0.0.137 2025-12-16 14:24:51 +00:00
Louis Knight-Webb
7f9f1433af Store binaries in Cloudflare R2 instead of bundling in npm package (Vibe Kanban) (#1554)
* All changes are complete. Let me provide a summary of what was implemented:

## Summary

I've implemented the Cloudflare R2 binary storage feature. Here are the changes:

### Files Created
- **`npx-cli/bin/download.js`** - New module that handles downloading binaries from R2 with:
  - SHA-256 checksum verification
  - Progress reporting
  - Redirect handling
  - Local caching in `~/.vibe-kanban/bin/{version}/{platform}/`

### Files Modified

1. **`npx-cli/bin/cli.js`**
   - Converted to async for on-demand downloads
   - Downloads binaries from R2 instead of using bundled files
   - Non-blocking update check shows notice if newer version available
   - Caches binaries locally per version/platform

2. **`npx-cli/package.json`**
   - Removed `"dist"` from `files` array (package now ~15KB instead of ~150MB)

3. **`.github/workflows/pre-release.yml`**
   - Added new `upload-to-r2` job that:
     - Downloads all platform packages from artifacts
     - Generates manifest.json with SHA-256 checksums for each binary
     - Uploads binaries to R2 at `binaries/v{version}/{platform}/{binary}.zip`
     - Updates global manifest with latest version
   - Modified `create-prerelease` job to:
     - Depend on `upload-to-r2` instead of `package-npx-cli`
     - Inject R2 public URL into download.js via `sed`
     - No longer download/bundle binaries in the npm package

### Required GitHub Secrets

You'll need to add these secrets to your repository:
- `R2_BINARIES_ACCESS_KEY_ID`
- `R2_BINARIES_SECRET_ACCESS_KEY`
- `R2_BINARIES_ENDPOINT` (e.g., `https://<account_id>.r2.cloudflarestorage.com`)
- `R2_BINARIES_BUCKET`
- `R2_BINARIES_PUBLIC_URL` (the public URL for your R2 bucket, e.g., custom domain or public R2 URL)

### R2 Bucket Structure
```
binaries/
  manifest.json                    # {"latest": "0.0.135"}
  v0.0.135/
    manifest.json                  # Per-version manifest with checksums
    linux-x64/
      vibe-kanban.zip
      vibe-kanban-mcp.zip
      vibe-kanban-review.zip
    ...
```

* Done! I've updated the implementation to use full tags (with timestamps) instead of just version numbers. Here's a summary of what changed:

## Changes Made

1. **`npx-cli/bin/download.js`**:
   - Added `BINARY_TAG` constant (placeholder `__BINARY_TAG__`)
   - Changed `ensureBinary()` to use `BINARY_TAG` instead of accepting version as parameter
   - Cache paths now use the tag: `~/.vibe-kanban/bin/{tag}/{platform}/`

2. **`npx-cli/bin/cli.js`**:
   - Updated to import `BINARY_TAG` from download.js
   - Cache directory now uses `BINARY_TAG` instead of `CLI_VERSION`
   - Updated `ensureBinary()` call to not pass version

3. **`.github/workflows/pre-release.yml`**:
   - `upload-to-r2` job now uses `new_tag` instead of `new_version` for R2 paths
   - Binaries are stored at `binaries/{tag}/{platform}/{binary}.zip`
   - Global manifest stores the full tag: `{"latest": "v0.0.135-20251215122030"}`
   - `create-prerelease` job now injects both `__R2_PUBLIC_URL__` and `__BINARY_TAG__`

This allows multiple pre-releases to coexist in R2 (e.g., `v0.0.135-20251215122030` and `v0.0.135-20251215100000`), making rollbacks easy.

* chore: bump version to 0.0.136

---------

Co-authored-by: GitHub Action <action@github.com>
2025-12-15 23:48:27 +00:00
Louis Knight-Webb
e16602cc0f Downgrade version 2025-12-15 22:12:03 +00:00
Louis Knight-Webb
8a623ee924 Larger runner (#1552)
* Use a larger ubuntu runner

* chore: bump version to 0.0.136

---------

Co-authored-by: Solomon <abcpro11051@disroot.org>
Co-authored-by: GitHub Action <action@github.com>
2025-12-15 22:01:46 +00:00
Louis Knight-Webb
47a6665175 Reqwest fix: (#1549)
1. **No `openssl-sys` compilation** - The build used `rustls`, `ring`, and `tokio-rustls` instead
2. **All dependencies are pure Rust** - No C compilation required
3. **Build completed in 6.39s** - Fast compilation without vendored OpenSSL

The single-line change to `crates/review/Cargo.toml` switches from the default OpenSSL TLS backend to Rustls, which avoids the `openssl-sys` build failure in CI. This matches the pattern already used by `crates/remote`.
2025-12-15 20:37:24 +00:00
Louis Knight-Webb
51bcd30d30 update prod URL 2025-12-15 19:47:35 +00:00
Louis Knight-Webb
fd9e5e5d79 Remote review (#1521) 2025-12-15 19:42:13 +00:00