Skip to content
This repository was archived by the owner on Aug 7, 2026. It is now read-only.

Commit 8432ca7

Browse files
Oded Falikclaude
andcommitted
chore: release v0.5.1
- Automate release workflow (no more label required) - Bump version to 0.5.1 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 6e3c374 commit 8432ca7

5 files changed

Lines changed: 67 additions & 37 deletions

File tree

‎.github/workflows/release-please.yml‎

Lines changed: 59 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,70 @@
11
name: Release
22

33
on:
4-
pull_request:
5-
types: [closed]
4+
push:
65
branches: [main]
76

87
permissions:
98
contents: write
109

1110
jobs:
12-
release:
13-
# Triggers when PR with 'release' label is merged
14-
# IMPORTANT: PR author must update version in Cargo.toml before merging
15-
if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release')
11+
check-version:
1612
runs-on: ubuntu-latest
1713
outputs:
18-
version: ${{ steps.version.outputs.version }}
14+
should_release: ${{ steps.check.outputs.should_release }}
15+
version: ${{ steps.check.outputs.version }}
1916
steps:
2017
- uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
2120

22-
- name: Get version from Cargo.toml
23-
id: version
21+
- name: Check if version changed
22+
id: check
2423
run: |
2524
VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
2625
echo "version=$VERSION" >> $GITHUB_OUTPUT
27-
echo "Releasing version: $VERSION"
26+
27+
# Get latest tag
28+
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
29+
LATEST_VERSION=${LATEST_TAG#v}
30+
31+
echo "Current version: $VERSION"
32+
echo "Latest tag: $LATEST_TAG (version: $LATEST_VERSION)"
33+
34+
if [ "$VERSION" != "$LATEST_VERSION" ]; then
35+
# Verify this is a newer version (not older)
36+
printf '%s\n%s\n' "$LATEST_VERSION" "$VERSION" | sort -V -C && IS_NEWER=false || IS_NEWER=true
37+
if [ "$IS_NEWER" = "true" ] || [ "$LATEST_VERSION" = "0.0.0" ]; then
38+
echo "should_release=true" >> $GITHUB_OUTPUT
39+
echo "New version detected, will release $VERSION"
40+
else
41+
echo "should_release=false" >> $GITHUB_OUTPUT
42+
echo "Version $VERSION is not newer than $LATEST_VERSION, skipping release"
43+
fi
44+
else
45+
echo "should_release=false" >> $GITHUB_OUTPUT
46+
echo "Version unchanged, skipping release"
47+
fi
48+
49+
release:
50+
needs: check-version
51+
if: needs.check-version.outputs.should_release == 'true'
52+
runs-on: ubuntu-latest
53+
outputs:
54+
version: ${{ needs.check-version.outputs.version }}
55+
steps:
56+
- uses: actions/checkout@v4
2857

2958
- name: Create and push tag
3059
run: |
3160
git config user.name "github-actions[bot]"
3261
git config user.email "github-actions[bot]@users.noreply.github.com"
33-
git tag -a "v${{ steps.version.outputs.version }}" -m "Release v${{ steps.version.outputs.version }}"
34-
git push origin "v${{ steps.version.outputs.version }}"
62+
git tag -a "v${{ needs.check-version.outputs.version }}" -m "Release v${{ needs.check-version.outputs.version }}"
63+
git push origin "v${{ needs.check-version.outputs.version }}"
3564
3665
build:
37-
needs: release
66+
needs: [check-version, release]
67+
if: needs.check-version.outputs.should_release == 'true'
3868
runs-on: ${{ matrix.os }}
3969
strategy:
4070
matrix:
@@ -62,7 +92,7 @@ jobs:
6292
steps:
6393
- uses: actions/checkout@v4
6494
with:
65-
ref: v${{ needs.release.outputs.version }}
95+
ref: v${{ needs.check-version.outputs.version }}
6696

6797
- name: Install Rust toolchain
6898
uses: dtolnay/rust-toolchain@stable
@@ -104,7 +134,7 @@ jobs:
104134
cat > npm-pkg/package.json << EOF
105135
{
106136
"name": "@strand-ai/lambda-mcp-${{ matrix.npm_os }}-${{ matrix.npm_arch }}",
107-
"version": "${{ needs.release.outputs.version }}",
137+
"version": "${{ needs.check-version.outputs.version }}",
108138
"description": "Platform-specific binary for lambda-mcp (${{ matrix.npm_os }}-${{ matrix.npm_arch }})",
109139
"os": ["${{ matrix.npm_os }}"],
110140
"cpu": ["${{ matrix.npm_arch }}"],
@@ -116,7 +146,7 @@ jobs:
116146
cat > npm-pkg/package.json << EOF
117147
{
118148
"name": "@strand-ai/lambda-mcp-${{ matrix.npm_os }}-${{ matrix.npm_arch }}",
119-
"version": "${{ needs.release.outputs.version }}",
149+
"version": "${{ needs.check-version.outputs.version }}",
120150
"description": "Platform-specific binary for lambda-mcp (${{ matrix.npm_os }}-${{ matrix.npm_arch }})",
121151
"os": ["${{ matrix.npm_os }}"],
122152
"cpu": ["${{ matrix.npm_arch }}"],
@@ -135,7 +165,7 @@ jobs:
135165
path: npm-pkg/
136166

137167
publish:
138-
needs: [release, build]
168+
needs: [check-version, release, build]
139169
runs-on: ubuntu-latest
140170
steps:
141171
- name: Download all artifacts
@@ -146,20 +176,20 @@ jobs:
146176
- name: Create GitHub release
147177
uses: softprops/action-gh-release@v2
148178
with:
149-
tag_name: v${{ needs.release.outputs.version }}
179+
tag_name: v${{ needs.check-version.outputs.version }}
150180
files: |
151181
artifacts/**/*.tar.gz
152182
artifacts/**/*.zip
153183
generate_release_notes: true
154184

155185
update-homebrew:
156-
needs: [release, publish]
186+
needs: [check-version, release, publish]
157187
runs-on: ubuntu-latest
158188
steps:
159189
- name: Compute SHA256
160190
id: sha256
161191
run: |
162-
TARBALL_URL="https://github.com/${{ github.repository }}/archive/refs/tags/v${{ needs.release.outputs.version }}.tar.gz"
192+
TARBALL_URL="https://github.com/${{ github.repository }}/archive/refs/tags/v${{ needs.check-version.outputs.version }}.tar.gz"
163193
SHA256=$(curl -sL "$TARBALL_URL" | sha256sum | cut -d' ' -f1)
164194
echo "sha256=$SHA256" >> $GITHUB_OUTPUT
165195
@@ -176,7 +206,7 @@ jobs:
176206
class LambdaCli < Formula
177207
desc "Unofficial CLI and MCP server for Lambda cloud GPU instances"
178208
homepage "https://github.com/Strand-AI/lambda-cli"
179-
url "https://github.com/Strand-AI/lambda-cli/archive/refs/tags/v${{ needs.release.outputs.version }}.tar.gz"
209+
url "https://github.com/Strand-AI/lambda-cli/archive/refs/tags/v${{ needs.check-version.outputs.version }}.tar.gz"
180210
sha256 "${{ steps.sha256.outputs.sha256 }}"
181211
license "MIT"
182212
head "https://github.com/Strand-AI/lambda-cli.git", branch: "main"
@@ -201,16 +231,16 @@ jobs:
201231
git config user.name "github-actions[bot]"
202232
git config user.email "github-actions[bot]@users.noreply.github.com"
203233
git add Formula/lambda-cli.rb
204-
git commit -m "lambda-cli: update to ${{ needs.release.outputs.version }}"
234+
git commit -m "lambda-cli: update to ${{ needs.check-version.outputs.version }}"
205235
git push
206236
207237
publish-npm:
208-
needs: [release, build]
238+
needs: [check-version, release, build]
209239
runs-on: ubuntu-latest
210240
steps:
211241
- uses: actions/checkout@v4
212242
with:
213-
ref: v${{ needs.release.outputs.version }}
243+
ref: v${{ needs.check-version.outputs.version }}
214244

215245
- uses: actions/setup-node@v4
216246
with:
@@ -240,12 +270,12 @@ jobs:
240270
run: |
241271
cd npm/lambda-mcp
242272
# Update version in package.json
243-
sed -i 's/"version": "0.0.0"/"version": "${{ needs.release.outputs.version }}"/' package.json
273+
sed -i 's/"version": "0.0.0"/"version": "${{ needs.check-version.outputs.version }}"/' package.json
244274
# Update optional dependency versions
245-
sed -i 's/"@strand-ai\/lambda-mcp-linux-x64": "0.0.0"/"@strand-ai\/lambda-mcp-linux-x64": "${{ needs.release.outputs.version }}"/' package.json
246-
sed -i 's/"@strand-ai\/lambda-mcp-darwin-x64": "0.0.0"/"@strand-ai\/lambda-mcp-darwin-x64": "${{ needs.release.outputs.version }}"/' package.json
247-
sed -i 's/"@strand-ai\/lambda-mcp-darwin-arm64": "0.0.0"/"@strand-ai\/lambda-mcp-darwin-arm64": "${{ needs.release.outputs.version }}"/' package.json
248-
sed -i 's/"@strand-ai\/lambda-mcp-win32-x64": "0.0.0"/"@strand-ai\/lambda-mcp-win32-x64": "${{ needs.release.outputs.version }}"/' package.json
275+
sed -i 's/"@strand-ai\/lambda-mcp-linux-x64": "0.0.0"/"@strand-ai\/lambda-mcp-linux-x64": "${{ needs.check-version.outputs.version }}"/' package.json
276+
sed -i 's/"@strand-ai\/lambda-mcp-darwin-x64": "0.0.0"/"@strand-ai\/lambda-mcp-darwin-x64": "${{ needs.check-version.outputs.version }}"/' package.json
277+
sed -i 's/"@strand-ai\/lambda-mcp-darwin-arm64": "0.0.0"/"@strand-ai\/lambda-mcp-darwin-arm64": "${{ needs.check-version.outputs.version }}"/' package.json
278+
sed -i 's/"@strand-ai\/lambda-mcp-win32-x64": "0.0.0"/"@strand-ai\/lambda-mcp-win32-x64": "${{ needs.check-version.outputs.version }}"/' package.json
249279
npm install
250280
npm run build
251281
npm publish --access public

‎Cargo.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lambda_cli"
3-
version = "0.5.0"
3+
version = "0.5.1"
44
edition = "2021"
55
description = "Unofficial CLI and MCP server for Lambda cloud GPU instances"
66
license = "MIT"

‎README.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
88
[![npm](https://img.shields.io/npm/v/@strand-ai/lambda-mcp)](https://www.npmjs.com/package/@strand-ai/lambda-mcp)
99
[![MCP](https://img.shields.io/badge/MCP-compatible-8A2BE2)](https://modelcontextprotocol.io)
10-
[![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)
11-
[![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)
10+
[![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&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40strand-ai%2Flambda-mcp%22%5D%7D)
11+
[![Install in Cursor](https://img.shields.io/badge/Cursor-Install_Server-000000?logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=lambda&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40strand-ai%2Flambda-mcp%22%5D%7D)
1212

1313
A fast CLI and MCP server for managing [Lambda](https://lambda.ai/) cloud GPU instances.
1414

@@ -189,12 +189,12 @@ When notification environment variables are configured, the MCP server automatic
189189
### Claude Code Setup
190190

191191
```bash
192-
claude mcp add lambda-labs -s user -e LAMBDA_API_KEY=your-api-key -- npx -y @strand-ai/lambda-mcp
192+
claude mcp add lambda -s user -e LAMBDA_API_KEY=your-api-key -- npx -y @strand-ai/lambda-mcp
193193
```
194194

195-
**With 1Password:**
195+
**With 1Password CLI:**
196196
```bash
197-
claude mcp add lambda-labs -s user -e LAMBDA_API_KEY_COMMAND="op read op://Personal/Lambda/api-key" -- npx -y @strand-ai/lambda-mcp
197+
claude mcp add lambda -s user -e LAMBDA_API_KEY_COMMAND="op read op://Personal/Lambda/api-key" -- npx -y @strand-ai/lambda-mcp
198198
```
199199

200200
Then restart Claude Code.

‎npm/lambda-mcp/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"keywords": [
1313
"mcp",
1414
"model-context-protocol",
15-
"lambda-labs",
15+
"lambda",
1616
"gpu",
1717
"cloud",
1818
"ai",

0 commit comments

Comments
 (0)