1.8 KiB
1.8 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, documentation
| id | title | status | assignee | created_date | updated_date | labels | dependencies | documentation | |
|---|---|---|---|---|---|---|---|---|---|
| ML-159 | Replicate CI pipeline on tangled.org | Done | 2026-05-03 16:54 | 2026-05-03 19:46 |
|
Description
Port the entire GitHub CI pipeline (lint, test, deploy) to tangled.org. The current pipeline includes: linting (format, gettext, credo, sobelow, mix_audit, shellcheck, Docker image validation, asset build), testing (partitioned tests with coverage ≥75%), deployment (Coolify API trigger via hurl, health check, post-deploy verification), dependency submission reporting, and a manual verification workflow. The goal is to replicate this functionality on tangled.org as the CI provider.
Final Summary
Cancelled. Two reasons:
- Dev/CI parity loss — moving from mise (used in both local dev and GitHub Actions) to Nix-based tooling would create a divergence between how developers install tools and how CI does. Mise reads
mise.tomldirectly; Spindle would require either mise-as-nixpkgs-dep (adding download latency) or custom Nix derivations (adding maintenance burden). - No build artifact caching — Spindle has no
actions/cacheequivalent.mix deps,_build,node_modules, and asset builds would recompile from scratch every run. With Elixir 1.20.0-rc.4 not in nixpkgs, even the toolchain download is uncached. Cold runs estimate 10-20 min vs ~5 min cached on GitHub Actions.
Future direction: evaluate Buildkite (free solo tier, can wire production server as runner) or similar provider that supports caching and keeps mise-based tooling.