chore: repin toolchain and fix asset setup on fresh machines - #107
Merged
Conversation
Pin erlang 27.1.2 and nodejs 22.23.2 in .tool-versions (the previous exact pins 27.1 / 22.20.0 are no longer installable via asdf), and align the Dockerfile builder image and CI OTP_VERSION with the same Erlang patch release so local, CI, and release builds use one toolchain. Add `npm ci` to the assets.setup alias: mix setup only installed the tailwind/esbuild binaries, so a fresh clone failed at assets.build with unresolved CodeMirror imports. Remove assets/tsconfig.json, orphan config with no TypeScript sources.
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.
What changed
.tool-versionstoerlang 27.1.2andnodejs 22.23.2(latest Node 22 LTS patch), keepingelixir 1.17.3-otp-27.hexpm/elixir:1.17.3-erlang-27.1.2-...) and CIOTP_VERSIONwith the same Erlang patch release.npm cito theassets.setupmix alias somix setupinstalls the JS dependencies (CodeMirror, Chart.js, SortableJS) needed byassets.build.assets/tsconfig.json, an orphan config with no TypeScript sources in the project.Why
The exact pins
erlang 27.1andnodejs 22.20.0are no longer installable via asdf, somixdid not even run on a freshly provisioned machine. While reviving the project,make setupalso failed on a fresh clone because nothing ever rannpm cilocally (only the Dockerfile did), breaking esbuild bundling with unresolved@codemirror/*imports. This PR makes local, CI, and release builds converge on one toolchain and makesmake setupwork end to end from a clean checkout.How to test
All green locally: 638 tests + 10 properties (0 failures), integration suite against both Postgres containers, and the production image builds successfully.