You run some installation commands of choice. (Some CIs run npm ci or whatnot automatically for you for convenience if you don’t specify anything.)
You run some test commands of choice.
Basically, you already have a repo (folder), a way to install stuff and a way to test stuff, and now you’re specifying to the CI how to do those things in an automated way. Usually, you don’t need to change much in your repo – it’s more about adding some config file, like config.yml. This does not lock you or other people into only being able to build there.
I would start with the simplest possible thing I can think of – even if it feels suboptimal. Once that works, I’d look into if I can speed it up or so. You can ignore the elm-tooling instructions to begin with if you’re starting out with CIs – that document talks more about optimal caching and stuff that you can dive into later.
I’d wanted to go with Github Actions first but finding an elm page about CircleCI (lightly) suggested that CircleCI was a more popular choice for Elm developers.
But KISS is my mantra
So… it’s off to Actions I go.