A collection of reusable WebAssembly modules for building composable CI/CD pipelines with FluentCI
README.md

Shared setup library #

PureScript implementation shared by the runtime setup modules. This is a local Spago library, not a separately registered WebAssembly module.

  • CI.Setup dispatches installers and exposes the shared entry point.
  • CI.Setup.Types validates configuration and host support.
  • CI.Setup.Archive resolves upstream releases and installs runtime archives.
  • CI.Setup.BSD installs native packages and activates package-owned executables.
  • CI.Setup.Installer handles rustup and the two Nix installers.
  • CI.Setup.Host wraps host execution, verification, temporary files, and environment publication.

Build a module under setup/ to compile this library. Tests in test/setup are run by each module's npm test command. When changing shared code, rebuild and test all setup modules so their bundled plugins include the change.

Use the FluentCI SDK's literal argument API for host commands. The SDK's FluentCI.Plugin.Internal.Imports.set_envs import publishes verified setup environment variables because the high-level plugin API does not expose a setter. Keep this wire payload an array of [key, value] pairs.

License #

MIT.