Commit 17f271f
authored
docs+ci: correct OTP-28 reasoning — works on Elixir 1.19, not 1.18 (#32)
## Summary
My earlier #30 work pinned to OTP 27.3 / Elixir 1.18.0 based on the
(then-correct) snifs CI failure with Hex 2.4.2 on OTP 28. The reasoning
was overgeneralised: OTP 28 + Elixir **1.18** is broken, but OTP 28.3 +
Elixir **1.19.4** works fine. Verified via bofj-kitt's
static-analysis-gate.yml runs successfully loading Hex 2.4.2 and
fetching dozens of packages.
## What changes
- **README**: replaces "OTP 28 not supported" with the correct
distinction — Elixir 1.18 + OTP 28 is broken (Hex archive
incompatibility), Elixir 1.19 + OTP 28 works.
- **.github/workflows/e2e.yml**: bumps CI pin from OTP 27.3 / Elixir
1.18.0 → OTP 28.3 / Elixir 1.19.4 to match estate-wide convention.
- **.tool-versions**: matches new CI pin.
## Why this matters
Per-Elixir-version Hex archives at
`hex.pm/installs/<elixir_version>/hex-<hex_version>.ez` are compiled
differently. The Elixir 1.18 archive has `bs_add` BEAM bytecode that
won't load on OTP 28; the Elixir 1.19 archive doesn't. Bumping Elixir
alongside OTP fixes the original issue without staying on the older
runtime.
## Test plan
- [ ] E2E gate goes green on OTP 28.3 / Elixir 1.19.4
- [ ] If e2e fails, the issue is something other than what we already
verified (Hex loads fine on this combo)
## Note on Actions budget
This is one PR, one CI run — minimal incremental cost. Worth landing
because the current README's reasoning is misleading for anyone
consulting it (and it would block future people from using the same
combo the rest of the estate uses).1 parent 6ab7493 commit 17f271f
3 files changed
Lines changed: 13 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
86 | 83 | | |
87 | 84 | | |
88 | 85 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
0 commit comments