update-lambda

star 11.3k

Trigger a new lambda release, update build.rs with the new artifact URL and SHA256, and open a PR

quickwit-oss By quickwit-oss schedule Updated 5/20/2026

name: update-lambda description: Trigger a new lambda release, update build.rs with the new artifact URL and SHA256, and open a PR disable-model-invocation: true

Update Lambda Artifact

This 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.

Step 1: Verify we are on main

Run: git branch --show-current

If not on main, abort and ask the user to switch branches first.

Step 2: Pull latest main

Run: git pull origin main

This ensures the lambda tag points to the latest code.

Step 3: Get the commit short hash

Run: git rev-parse --short HEAD

Save this as COMMIT_HASH (e.g. dd6442e). The tag that will be pushed is lambda-{COMMIT_HASH}.

Step 4: Check the tag does not already exist

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.

Step 5: Push the tag to trigger the workflow

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.

Step 6: Wait for the workflow run to complete

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,url

Look for the run where headBranch equals lambda-{COMMIT_HASH}.

  • If status is completed and conclusion is success: proceed to Step 7.
  • If status is completed and conclusion is not success: abort and report the failure URL to the user.
  • If no matching run is found or status is still in-progress: wait 30 seconds and retry. The build typically takes 15–20 minutes.

Step 7: Fetch the draft release asset info

Once the workflow succeeds:

gh release view lambda-{COMMIT_HASH} \
  --repo quickwit-oss/quickwit \
  --json assets,isDraft

From the first element of assets, extract:

  • url: the download URL
  • digest: 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.

Step 8: Publish the draft release

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=false

Step 9: Update build.rs

Edit 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.

Step 10: Create a working branch

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}

Step 11: Commit the changes

Stage the modified file and commit:

git add quickwit/quickwit-lambda-client/build.rs
git commit -m "Update lambda artifact to {COMMIT_HASH}"

Step 12: Push and open a PR

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.

Install via CLI
npx skills add https://github.com/quickwit-oss/quickwit --skill update-lambda
Repository Details
star Stars 11,326
call_split Forks 558
navigation Branch main
article Path SKILL.md
More from Creator
quickwit-oss
quickwit-oss Explore all skills →