Trigger a new lambda release, update build.rs with the new artifact URL and SHA256, and open a PR
64
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.claude/skills/update-lambda/SKILL.mdThis skill triggers the Release Lambda binary GitHub Actions workflow by pushing a
lambda-<commit> tag, waits for the artifact to be published, then updates
quickwit-lambda-client/build.rs with the new URL and SHA256 hash, and opens a PR.
Run: git branch --show-current
If not on main, abort and ask the user to switch branches first.
Run: git pull origin main
This ensures the lambda tag points to the latest code.
Run: git rev-parse --short HEAD
Save this as COMMIT_HASH (e.g. dd6442e). The tag that will be pushed is
lambda-{COMMIT_HASH}.
Run:
git tag --list "lambda-{COMMIT_HASH}"If the tag already exists locally or on the remote, skip straight to Step 6 to check whether the corresponding release already exists. Do not push a duplicate tag.
git tag lambda-{COMMIT_HASH}
git push origin lambda-{COMMIT_HASH}This triggers the Release Lambda binary GitHub Actions workflow
(.github/workflows/publish_lambda.yaml).
After pushing, wait ~10 seconds for GitHub to register the workflow run before polling.
Poll the workflow runs until the one for this tag completes:
gh run list --repo quickwit-oss/quickwit \
--workflow=publish_lambda.yaml \
--limit 10 \
--json headBranch,status,conclusion,databaseId,urlLook for the run where headBranch equals lambda-{COMMIT_HASH}.
status is completed and conclusion is success: proceed to Step 7.status is completed and conclusion is not success: abort and report
the failure URL to the user.status is still in-progress: wait 30 seconds and
retry. The build typically takes 15–20 minutes.Once the workflow succeeds:
gh release view lambda-{COMMIT_HASH} \
--repo quickwit-oss/quickwit \
--json assets,isDraftFrom the first element of assets, extract:
url: the download URLdigest: the SHA256 in sha256:<hex> format — strip the sha256: prefix to get
the bare hex string.Abort if the release has no assets or is not found.
The release is created as a draft by the workflow. Make it publicly accessible so
build.rs can download the artifact:
gh release edit lambda-{COMMIT_HASH} \
--repo quickwit-oss/quickwit \
--draft=falseEdit quickwit/quickwit-lambda-client/build.rs and update the two constants:
const LAMBDA_ZIP_URL: &str = "<new URL from Step 7>";
const LAMBDA_ZIP_SHA256: &str = "<bare SHA256 hex from Step 7>";These are the only two lines that should change.
Get the git username: git config user.name | tr ' ' '-' | tr '[:upper:]' '[:lower:]'
Create and checkout a new branch:
git checkout -b {username}/update-lambda-{COMMIT_HASH}Stage the modified file and commit:
git add quickwit/quickwit-lambda-client/build.rs
git commit -m "Update lambda artifact to {COMMIT_HASH}"git push origin {username}/update-lambda-{COMMIT_HASH}
gh pr create \
--repo quickwit-oss/quickwit \
--title "Update lambda artifact to {COMMIT_HASH}" \
--body "$(cat <<'EOF'
Updates `quickwit-lambda-client/build.rs` to point to the new lambda artifact
built from commit {COMMIT_HASH}.
- Release: https://github.com/quickwit-oss/quickwit/releases/tag/lambda-{COMMIT_HASH}
EOF
)"Report the PR URL to the user.
19dc9be
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.