From 56e782d56d2622f7a59265fdeecff119216c7ef6 Mon Sep 17 00:00:00 2001 From: Oded Falik Date: Wed, 14 Jan 2026 09:41:31 -0800 Subject: [PATCH 1/3] docs: make unofficial disclaimer more prominent Use GitHub alert syntax for better visibility Co-Authored-By: Claude Opus 4.5 --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 14cb771..b01000e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Lambda CLI -> **⚠️ UNOFFICIAL PROJECT** — This is a community-built tool, not affiliated with or endorsed by Lambda. +> [!CAUTION] +> **UNOFFICIAL PROJECT** — This is a community-built tool, not affiliated with or endorsed by Lambda. [![CI](https://github.com/Strand-AI/lambda-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Strand-AI/lambda-cli/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) From 34c40c40678a8745aa8b90fed967c03dc15b341b Mon Sep 17 00:00:00 2001 From: Oded Falik Date: Wed, 14 Jan 2026 09:46:45 -0800 Subject: [PATCH 2/3] ci: simplify release workflow to tag merge commit - No longer pushes version bump commit to main (avoids branch protection issues) - PR author must update Cargo.toml version before merging - Uses single 'release' label instead of release:major/minor/patch - Added release instructions to README Co-Authored-By: Claude Opus 4.5 --- .github/workflows/release-please.yml | 47 ++++++---------------------- README.md | 12 +++++++ 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index a541979..e08ad8d 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -10,55 +10,28 @@ permissions: jobs: release: - if: github.event.pull_request.merged == true && (contains(github.event.pull_request.labels.*.name, 'release:major') || contains(github.event.pull_request.labels.*.name, 'release:minor') || contains(github.event.pull_request.labels.*.name, 'release:patch')) + # Triggers when PR with 'release' label is merged + # IMPORTANT: PR author must update version in Cargo.toml before merging + if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release') runs-on: ubuntu-latest outputs: - version: ${{ steps.new.outputs.version }} + version: ${{ steps.version.outputs.version }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Determine version bump - id: bump - run: | - if ${{ contains(github.event.pull_request.labels.*.name, 'release:major') }}; then - echo "type=major" >> $GITHUB_OUTPUT - elif ${{ contains(github.event.pull_request.labels.*.name, 'release:minor') }}; then - echo "type=minor" >> $GITHUB_OUTPUT - else - echo "type=patch" >> $GITHUB_OUTPUT - fi - - name: Get current version - id: current + - name: Get version from Cargo.toml + id: version run: | VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/') echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Releasing version: $VERSION" - - name: Calculate new version - id: new - run: | - IFS='.' read -r major minor patch <<< "${{ steps.current.outputs.version }}" - case "${{ steps.bump.outputs.type }}" in - major) echo "version=$((major + 1)).0.0" >> $GITHUB_OUTPUT ;; - minor) echo "version=${major}.$((minor + 1)).0" >> $GITHUB_OUTPUT ;; - patch) echo "version=${major}.${minor}.$((patch + 1))" >> $GITHUB_OUTPUT ;; - esac - - - name: Update version in Cargo.toml - run: | - sed -i 's/^version = ".*"/version = "${{ steps.new.outputs.version }}"/' Cargo.toml - - - name: Commit and tag + - name: Create and push tag run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - git add Cargo.toml - git commit -m "chore: release v${{ steps.new.outputs.version }}" - git tag -a "v${{ steps.new.outputs.version }}" -m "Release v${{ steps.new.outputs.version }}" - git push origin main - git push origin "v${{ steps.new.outputs.version }}" + git tag -a "v${{ steps.version.outputs.version }}" -m "Release v${{ steps.version.outputs.version }}" + git push origin "v${{ steps.version.outputs.version }}" build: needs: release diff --git a/README.md b/README.md index b01000e..d22be2a 100644 --- a/README.md +++ b/README.md @@ -227,3 +227,15 @@ cargo run --bin lambda -- list cargo run --bin lambda-mcp ``` +## Releasing + +To create a release: + +1. Update the version in `Cargo.toml` +2. Create a PR with the `release` label +3. Merge the PR — this automatically: + - Creates a git tag + - Builds binaries for all platforms + - Publishes to npm + - Updates the Homebrew formula + From ace780246a432c5ee538fa457c278afbbb572a5f Mon Sep 17 00:00:00 2001 From: Oded Falik Date: Wed, 14 Jan 2026 09:47:59 -0800 Subject: [PATCH 3/3] docs: update Lambda URLs to new domain Co-Authored-By: Claude Opus 4.5 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d22be2a..7c0a335 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=lambda-labs&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40strand-ai%2Flambda-mcp%22%5D%7D) [![Install in Cursor](https://img.shields.io/badge/Cursor-Install_Server-000000?logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=lambda-labs&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40strand-ai%2Flambda-mcp%22%5D%7D) -A fast CLI and MCP server for managing [Lambda](https://lambdalabs.com/) cloud GPU instances. +A fast CLI and MCP server for managing [Lambda](https://lambda.ai/) cloud GPU instances. **Two ways to use it:** - **CLI** (`lambda`) - Direct terminal commands for managing GPU instances @@ -33,7 +33,7 @@ Download from [GitHub Releases](https://github.com/Strand-AI/lambda-cli/releases ## Authentication -Get your API key from the [Lambda dashboard](https://cloud.lambdalabs.com/api-keys). +Get your API key from the [Lambda dashboard](https://cloud.lambda.ai/api-keys/cloud-api). ### Option 1: Environment Variable ```bash