Monorepo for Tangled โ€” https://tangled.org

proposal: generic docker image runner engine #326

open
opened by sachy.dev edited

So after trying to get one of my projects building on the CI, I ran into some massive painpoints with the nixery engine:

  • If all your stuff fits neatly inside nixpkgs default configs, then you have zero issues.
  • If your project requires the use of workarounds or setup hooks in order to get the environment correct, you are SOL.
  • Attempting to work around the above is incredibly painful and requires a high degree of expertise with nix.

For example, if you have a rust project that has C deps that are built via rust-bindgen, then getting the environment configured so that LIBCLANG_PATH is properly set and other ENVs like BINDGEN_EXTRA_CLANG_ARGS is rather cursed (and currently beyond my ability).

Ergo, an alternative engine for Spindle is kinda needed to allow for setups that don't play well with nixery currently, with a generic docker image runner being such alternative. This would allow for something closer to Github style CI:

  • You'll have to do more work with configuring the env (more flexibility, but more prone to error)
  • Lose benefits of nix (though that might be a plus for some)

As an additional benefit, it might make it easier for folks to port their CI over from Github. If nixery however improves the UX around resolving this build/environment configuration issues, then this proposal might become unnecessary.

sign up or login to add to the discussion
Labels

None yet.

area

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:usjm3ynnir6y4inkcdovrfei/sh.tangled.repo.issue/3m7pahizg7d22