Skip to content

chore: Release v2.39.0#1165

Merged
ekalinichev merged 6 commits into
releasefrom
tmp-release-stable-v2.39.0-rc.2
Jul 13, 2026
Merged

chore: Release v2.39.0#1165
ekalinichev merged 6 commits into
releasefrom
tmp-release-stable-v2.39.0-rc.2

Conversation

@marnagy

@marnagy marnagy commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Merge tmp-release-stable-v2.39.0-rc.2 to release

malept and others added 6 commits June 18, 2026 08:27
#1160)

* test(github): declare wait-for-gh-rate-limit in mise test config

The isolated mise global config used by these tests did not declare
wait-for-gh-rate-limit, so run_mise emitted "No version is set for shim:
wait-for-gh-rate-limit" while installing the test tool. Declare it (pinned to
match mise.devbase.toml) to keep the test output clean.

Assisted-By: Claude Opus 4.8 via opencode

* fix(github): strip leading v from semver tags before mise install

mise 2026.6.14+ normalizes the leading `v` away when installing a pre-release
GitHub tag (e.g. v1.2.3-rc.1 becomes 1.2.3-rc.1) but re-adds it during
`mise which`/`mise where` resolution, so the freshly-installed tool resolves
as not installed/inactive. This broke install_latest_github_release for
pre-release tags (observed as the test-macos failure installing stencil) and
affects any v-prefixed pre-release GitHub tool resolved through mise_exec_tool.

Strip the leading `v` before handing the version to mise, only before a digit
so non-semver tags are untouched. The stencil install tests also assert the
binary runs.

Assisted-By: Claude Opus 4.8 via opencode
…d GitHub rate limiting (#1161)

* fix(linters): upgrade kubeconform from 0.6.4 to 0.8.0

* fix(kubeconform): locally cache schema repos to avoid rate limiting

* refactor: extract git repo cache feature to its own function

* Fix typo

* feat(git_cache): support sparse checkout for large cached repos

* fix(git_cache): keep reset output off stdout so the cache path is clean

* fix(kubeconform): sparse-cache k8s schemas by version, drop dead code

* fix(git_cache): self-heal corrupt cache dirs and harden arg handling

* refactor(kubeconform): own the kubernetes version in the shim

The shim resolves the Kubernetes version via get_tool_version instead of
parsing it back out of forwarded arguments, so it both caches the matching
schemas and passes -kubernetes-version to kubeconform. kubecfg.sh no longer
passes the flag. This removes the kubeconform_k8s_sparse_dirs helper, its
argument parsing, the sourced-guard, and the now-obsolete unit test.

Assisted-By: claude-opus 4.8 via opencode

* fix(git_cache): tolerate warm-fetch failures and normalize cache URLs

- If refreshing an existing cache fails (e.g. a transient network error),
  warn and reuse the existing checkout instead of leaving a bare git error.
- Normalize a trailing slash and .git suffix before deriving the cache dir
  name, and document that callers must pass distinct cacheSubdir values when
  repo basenames could collide.

Assisted-By: claude-opus 4.8 via opencode

* fix(kubeconform): fail loudly on unresolved kubernetes version

Guard against get_tool_version returning "null": an unset kubernetes
version would cache non-existent vnull-standalone dirs and, with
-ignore-missing-schemas, silently skip all validation while reporting
success. Also tolerate a transient sparse-checkout failure on the warm
cache path (symmetric with the fetch guard), document the shift idiom in
cache_git_repo, and refresh a stale jsonnet-libs cache comment.

Assisted-By: claude-opus 4.8 via opencode

* fix(git_cache): fail loudly when a warm cache is missing requested paths

A blobless sparse cache can pass the git health check yet lack the
requested schema dirs after a failed refresh, which let kubeconform
-ignore-missing-schemas report a false pass. Verify the paths are
materialized and fail otherwise.

Addresses review feedback on PR #1161.

Assisted-By: claude-opus 4.8 via opencode

---------

Co-authored-by: Egor Kalinichev <egor.kalinichev@outreach.io>
@marnagy marnagy requested a review from a team as a code owner July 13, 2026 13:34
@ekalinichev ekalinichev merged commit 90ba04c into release Jul 13, 2026
14 checks passed
@ekalinichev ekalinichev deleted the tmp-release-stable-v2.39.0-rc.2 branch July 13, 2026 16:33
@getoutreach-ci-1

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 2.39.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants