Skip to content

Add bump-serverless-env-version skill - #6419

Open
rugpanov wants to merge 8 commits into
serverless-upgrade-guidancefrom
bump-serverless-env-skill
Open

Add bump-serverless-env-version skill#6419
rugpanov wants to merge 8 commits into
serverless-upgrade-guidancefrom
bump-serverless-env-skill

Conversation

@rugpanov

@rugpanov rugpanov commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Stacked on #6407. This skill references .agents/rules/template-versions.md, which #6407 adds. Merge #6407 first; GitHub will retarget this PR to main automatically afterward.

Changes

Add the bump-serverless-env-version skill under .agents/skills/ for upgrading the default serverless environment version shipped by bundle templates.

The skill captures the non-obvious parts of the workflow: coupled Python and DB Connect compatibility, macro and hardcoded version sources, the separate defaultServerlessVersion product fallback, targeted golden regeneration across both template acceptance trees, and cross-verification against prior bumps #3897 and #6378.

Why

The version 5 bump in #6378 was performed manually. This makes future bumps repeatable while keeping policy in .agents/rules/template-versions.md and the procedural skill concise.

Tests

  • Parsed and validated the skill frontmatter; git diff --check passes.
  • Forward-tested a hypothetical version 6 bump with fresh agents. The skill correctly stopped because version 6 is not published instead of guessing compatibility data.
  • Independently reviewed routing, scope, authorization boundaries, repository paths, and commands; no blocking or medium-severity issues remain.
  • ./task checks could not run because the environment has Go 1.26.4, the branch requires Go 1.26.7, and the sandbox could not reach the Go toolchain download.

This PR was written with Claude Code and Codex.

rugpanov and others added 7 commits August 28, 2026 10:40
Automates the serverless environment version bump across bundle templates:
the serverless_environment_version macro plus the hardcoded literals in
default-scala and lakeflow-integrations, the coupled Python / DB Connect
pins in default/, golden regeneration across both template trees, and the
mandatory verify pass. Delegates policy to .agents/rules/template-versions.md.

Follow-up to #6378.

Co-authored-by: Isaac <no-reply@databricks.com>
- Scope: defaultServerlessVersion (libs/localenv/envkey.go) is a separate
  "latest LTS" Go pin, not the SSH test fixture; tell the bumper to check and
  bump it in sync rather than "leave it alone".
- Step 2: make the grep the source of truth; the file list is orientation only.

Co-authored-by: Isaac <no-reply@databricks.com>
- Remove GOTOOLCHAIN=local from the golden commands: env-specific, diverges
  from bump-sdk/bump-tf, and can break contributors on older local Go.
- Step 6: defer PR body to pr-checklist + the PR template (Changes/Why/Tests
  in order + authorship disclosure) instead of a competing template that
  dropped ## Why; broaden pre-PR checks to fmt/checks/lint/test.
- Step 2: only version-bearing grep hits get edited (macro names / template
  references carry no literal).
- Step 5: spell out the release-notes URL slug convention (five/six).

Co-authored-by: Isaac <no-reply@databricks.com>
- Scope: when bumping defaultServerlessVersion, also refresh the version shown
  in its help/example/error strings (cmd/environments/sync.go,
  libs/localenv/constraints.go), not just regenerate tests.
- Step 5: don't extrapolate the changelog line from v5 — adapt the benefit to
  the target version's actual release notes and link its real URL.

Co-authored-by: Isaac <no-reply@databricks.com>
The "-update lets both EnvMatrix variants overwrite each other's output"
explanation is stale: -update now auto-enables -subset (acceptance_test.go),
regenerating each output file from one covering variant. Correct the rationale
(the non-update pass matters because it runs *every* variant against the
goldens) and stop framing a load-induced timeout as an automatic flake.

Co-authored-by: Isaac <no-reply@databricks.com>
- Intro: only the golden output under acceptance/ is regenerated (acceptance/
  also holds hand-maintained inputs), not "everything under acceptance/".
- Step 3: use the full path libs/template/templates/default/library/versions.tmpl.

Co-authored-by: Isaac <no-reply@databricks.com>
Only the conservative_db_connect_version_spec and python_version_spec blocks
carry version-specific reasoning; name them instead of implying every macro does.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: d6add1c

Run: 33198028355

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 1 274 1194 4:07
💚​ aws windows 1 1 276 1192 5:03
💚​ azure linux 1 1 273 1194 4:15
💚​ azure windows 1 1 275 1192 3:58
💚​ gcp linux 1 1 274 1194 5:01
💚​ gcp windows 1 1 276 1192 4:14
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
Top 3 slowest tests (at least 2 minutes):
duration env testname
5:00 aws windows TestAccept
4:10 gcp windows TestAccept
3:55 azure windows TestAccept

@rugpanov
rugpanov marked this pull request as ready for review August 28, 2026 09:34
@github-actions

Copy link
Copy Markdown
Contributor

Waiting for approval

Could not determine reviewers from git history.
Round-robin suggestion: @simonfaltum

Eligible reviewers: @andrewnester, @anton-107, @denik, @janniklasrose, @lennartkats-db, @pietern, @rclarey, @renaudhartert-db, @shreyas-goenka, @simonfaltum

Suggestions based on git history. See OWNERS for ownership rules.

Narrow the trigger, target golden regeneration, separate the localenv fallback, and cross-check prior template bumps while keeping the workflow concise.

Co-authored-by: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants