Skip to content

fix: restore CI: patch advisories and download Lumis's NIF from its mirror - #91

Merged
darwin67 merged 2 commits into
mainfrom
fix-ci-deps
Oct 24, 2026
Merged

darwin67 merged 2 commits into
mainfrom
fix-ci-deps

Conversation

@darwin67

Copy link
Copy Markdown
Member

CI fails on main and on every pull request for two independent reasons. This fixes both.

Advisories (audit workflow). Patch and minor upgrades of every dependency with a published advisory:

Package Upgrade Advisories
plug_crypto 2.2.0 → 2.2.1 EEF-CVE-2026-105963
bandit 1.12.5 → 1.13.1 (thousand_island 1.5.0 → 1.6.0) EEF-CVE-2026-105659 (high), EEF-CVE-2026-105660
rustls 0.23.45 → 0.23.46 RUSTSEC-2026-0346, -0347, -0348, -0349
ctutils 0.4.3 → 0.4.5 RUSTSEC-2026-0385
rustls-webpki, webpki-root-certs patch releases RUSTSEC-2026-0382, RUSTSEC-2026-0383

Textbin sets no Bandit or Thousand Island options. Bandit 1.13 now rejects HTTP/1.1 requests without a valid Host header.

Lumis NIF download (elixir workflow). Since OTP 28.5.0.6 (OTP-20343), :httpc rejects responses with more than 10 KiB of headers. CI installs OTP 28.5.0.8, and GitHub's release-download redirect now sends about 10.9 KiB, mostly a 9 KiB content-security-policy. RustlerPrecompiled therefore fails to download Lumis's NIF with {:header_too_long, {:max, 10240}}, and every job that compiles fails.

config :lumis, artifact_source: :cloudflare switches to Lumis's documented Cloudflare R2 mirror. It serves the same files directly, with about 700 bytes of headers, and RustlerPrecompiled still checks them against the checksums in the Lumis package. The line can go once RustlerPrecompiled raises the limit (philss/rustler_precompiled#113).

Verified locally:

  • mix hex.audit and cargo audit are clean.
  • mix test passes (582 tests) and cargo test passes.
  • With network blocked, the compiled Lumis requests artifacts.lumis.sh. Clean-cache dev and prod compiles succeed from the mirror.

- plug_crypto 2.2.0 -> 2.2.1 (EEF-CVE-2026-105963)
- bandit 1.12.5 -> 1.13.1 (EEF-CVE-2026-105659, EEF-CVE-2026-105660),
  with thousand_island 1.5.0 -> 1.6.0
- rustls 0.23.45 -> 0.23.46 (RUSTSEC-2026-0346, -0347, -0348, -0349)
- ctutils 0.4.3 -> 0.4.5 (RUSTSEC-2026-0385)
- rustls-webpki and webpki-root-certs to their patched releases
  (RUSTSEC-2026-0382, RUSTSEC-2026-0383)
Since OTP 28.5.0.6, :httpc rejects responses with more than 10 KiB of
headers (OTP-20343). GitHub's release-download redirect now sends about
10.9 KiB, so RustlerPrecompiled fails to download Lumis's NIF with
{:header_too_long, {:max, 10240}} and compilation fails in CI.

Use Lumis's documented Cloudflare R2 mirror, which serves the same files
directly with about 700 bytes of headers. RustlerPrecompiled still checks
them against the checksums shipped in the Lumis package.
@github-actions github-actions Bot added the fix label Oct 24, 2026
@darwin67
darwin67 merged commit fd2e796 into main Oct 24, 2026
19 checks passed
@darwin67
darwin67 deleted the fix-ci-deps branch October 24, 2026 04:25
@chaba2-bot chaba2-bot Bot mentioned this pull request Oct 24, 2026
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.

1 participant