Skip to content

fix(mise): minimum age does not cause pinned versions to fail#575

Merged
iloveitaly merged 8 commits into
railwayapp:mainfrom
iloveitaly:min-age-test
Jun 1, 2026
Merged

fix(mise): minimum age does not cause pinned versions to fail#575
iloveitaly merged 8 commits into
railwayapp:mainfrom
iloveitaly:min-age-test

Conversation

@iloveitaly

@iloveitaly iloveitaly commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Railpack sets a default minimum_release_age of 14 days in generated container mise configs to avoid very new tool releases (missing binaries, GPG verification gaps, etc.). Host-side version resolution during build plan generation did not apply the same filter, so builds could fail when mise.toml requests latest but mise.lock pins a release newer than that window.

Fixes #571

Description

Host GetLatestVersion now resolves fuzzy constraints with MISE_MINIMUM_RELEASE_AGE=14d first, then falls back to unfiltered resolution when nothing matches (e.g. a lockfile pins a version inside the age window). A global MISE_MINIMUM_RELEASE_AGE on every host mise invocation was removed so only this resolution path applies the filter.

Adds examples/python-uv-latest-locked to exercise latest tools with a short minimum_release_age and a lockfile that pins edge releases. The mise-upgrade task upgrades that example's dependencies as part of routine maintenance.

Also includes GitHub Actions version bump tooling and a snapshot refresh for pnpm-corepack-runtime-usage.

Test

  • Integration example examples/python-uv-latest-locked asserts resolved Python/uv versions at build time
  • Build plan snapshot for python-uv-latest-locked
  • Node provider test accepts any valid semver when the configured version is latest

* Automate upgrading the dependencies for the Python example project during the mise-upgrade task.
* Ensure the repository remains current with the latest versions during the automated maintenance flow.

Generated-by: aiautocommit
- Remove the hardcoded MISE_MINIMUM_RELEASE_AGE environment variable to allow configuration via system defaults or user settings.

Generated-by: aiautocommit
- Update the node version expectation to accept any valid version string when configured as "latest".
- This avoids brittle test failures caused by the actual "latest" version changing over time.

Generated-by: aiautocommit
@iloveitaly iloveitaly changed the title test: minimum age integration test fix(mise): support minimum_release_age for host version resolution Jun 1, 2026
@iloveitaly iloveitaly changed the title fix(mise): support minimum_release_age for host version resolution fix(mise): minimum age does not cause pinned versions to fail Jun 1, 2026
@iloveitaly iloveitaly merged commit 47cdeb0 into railwayapp:main Jun 1, 2026
387 of 463 checks passed
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.

feat: support minimum release age

1 participant