Each machine needed a script this specified that machine's arch
and OS type. Also added a rule on the cache and test jobs to not
run if the dry run trigger is present. [ci dryrun]
The previous trigger condition wasn't liked by Gitlab's
yaml parser. I'm switching to trying a commit message
based regex trigger. This message does not contain the
trigger and so should not fire the dry run.
The dry run should now be configured if changes to .gitlab-ci.yml,
Earthfile, contents of scripts/cicd, or contents of package arrive
as the result of a push OR merge but NOT when a tag is present. I
think that will prevent the dry run executing alongside the actual
release process when a new release tag is pushed but that also
contains changes to the above mentioned files. <fingers crossed emoji>
Dry run will now trigger for Earthfile changes. I also reordered the
changelog in veilid-server.spec to descending to correct that error.
Commented out the crates.io publishing dry run. This branch does not
have access to the protected variables.
This is the first attempt at setting up a dry run pipeline
to test changes to the CICD config without actually publishing
the compiled binaries and packages built by the process.
The dry run should be triggered by any changes to .gitlab-ci.yml
or changes to any of the scripts under scripts/cicd/.
The paths work now, but the scripts are not set with execute permission.
I don't know if that permission will survive the transfer from my machine
across the git and runner stuff so I added an explicit call for bash instead.
The runner ID CI variable resolved to the runners' numeric ID whereas
the project path uses the runners' alpha-numeric formatted ID. Both
IDs show in Gitlab's settings->cicd->runners. For the time being, I've
hardcoded the alpha-numeric ID into the script paths in the CI config.
If we have to retate runners, we will need to update these entries.
I thought CICD's working directory was in the project root but the release
failed to find the scripts. I've changed the script executions to absolute
paths. There's a directory is named for the runner's ID, is different on
each machine, and changes if the runner is replaced. There's a variable
that should overcome this, CI_RUNNER_ID, which I've used in the asbolute
paths. Fingers crossed, let's try it again.
Copied CICD scripts into the repository so that the community can make
contributions to the build system. Wrote a brief description of the
build and distribute process. Modified the CICD config to use the repo
hosted scripts. [ci skip]