Conversation
The ascent pin had been left at 0.1.0 while ascent released 0.2.0, 0.2.1 and 0.3.0. All modules compile and the docs site renders unchanged apart from ascent's internal data-ascent hydration ids. DocsSiteSpec, ProjectMetaSpec and SitePathsSpec all set and clear the same global specular.* system properties, and sbt runs suites in parallel inside one JVM, so ~40% of runs failed on whichever suite lost the race. Turn off Test / parallelExecution for the site module.
Replaces stock sbt-dynver 5.1.1 (sbt-dynver-ci depends on it transitively), so the whole org shares one version policy. Published artifacts are unchanged: DynverCiVersion.format returns the bare version when the tag is clean, verified by building a clean tag — `9.9.9`, not `9.9.9-ci`. Only off-tag builds change, from `0.6.2+0-7199cd57+20260724-1331` to `0.7.2-ci`. That is the point. The zipx cache key embeds the root version, so the committed key held a commit-and-timestamp string: every single commit missed the cache and cold-started sbt. A stable `-ci` epoch makes the restore-keys prefix actually match between tags.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings specular onto
sbt-dynver-ci0.2.2, replacing stocksbt-dynver5.1.1 (the plugin depends on dynver transitively, so the old line is removed rather than kept alongside). marklit and saferis get the same treatment separately.Published artifacts are unchanged
DynverCiVersion.formatreturnsversionWithoutPrefixuntouched when the tag is clean, so av0.7.2tag still produces exactly0.7.2. Verified rather than assumed — built a clean tag in a scratch worktree:Publishing is gated on
startsWith(github.ref, 'refs/tags/v'), so only non-tag builds move:0.6.2+0-7199cd57+20260724-1331→0.7.2-ci.Which fixes a live CI problem
zipx's cache key embeds the root version as
cacheEpoch, so the committedci.ymlheld a per-commit timestamp:Every
restore-keysprefix contained that timestamp too, so every commit missed the cache entirely and cold-started sbt + coursier across all four jobs. A stable-ciepoch means the prefix matches between tags, which is what restore-keys are for.Regenerating was required either way —
zipxWorkflowCheckfails on a stale epoch.Verification
sbt testgreen,zipxWorkflowCheckclean after regeneration. NoThisBuild / versionanywhere in the build, so the plugin'sbuildSettingsvalue wins uncontested.