Big Bang scripts have no appropriate pipelines
Right now we have several scripts located in the bigbang repository:
$ find . -iname '*sh'
./docs/assets/scripts/developer/k3d-dev.sh
./docs/assets/scripts/developer/aws-mfa.sh
./docs/assets/scripts/airgap-zarf/zarf-dev.sh
./docs/assets/scripts/quickstart.sh
./docs/assets/scripts/airgap-dev/airgap.sh
./docs/assets/scripts/airgap-dev/deploy-images.sh
./docs/assets/scripts/airgap-dev/package-images.sh
./docs/assets/scripts/airgap-dev/package-repos.sh
./docs/assets/scripts/airgap-dev/registry.sh
./schema/schema-refresh.sh
./scripts/remove-ns-finalizer.sh
./scripts/install_flux.sh
./scripts/values-translate-2-0.sh
./scripts/sync.sh
When we make changes to these scripts and send merge requests, the big bang pipeline attempts to check changes, but they are part of an entirely different technology set that the big bang pipeline is not equipped to test (with possibly a couple of exceptions like install_flux
which get executed in the pipeline). As a result, when these changes are made, the MRs get the kind::docs
flag turned on to avoid uselessly running the big bang pipelines. However these are not documentation, they are code. This has a misleading psychological effect on the MR reviewer ("it's not actual big bang code, not a big deal") and is a punt that avoids the actual problem (we're making unchecked or poorly checked change to code which exists in a place where the pipelines are not compatible with that code and we know it).
We can solve this in one of three ways:
- Move these scripts out of the big bang repository and promote them to first class tools. This is definitely appropriate for some things, like the
k3d-dev.sh
script. Others probably deserve a similar treatment. They will need to get pipelines in their new repository regardless. - Move these scripts out of the big bang repository and move them into another repository that already has its own pipelines for testing (some may be appropriate to integrate into the
pipeline-templates
for example, but that's speculation on my part) - Write a new set of pipelines for these tools and leave them where they are, adding the new pipelines to the existing repository.