-
Notifications
You must be signed in to change notification settings - Fork 177
Description
This is halfway between a bug report and a feature request. Since the latest update to https://salsa.debian.org/salsa-ci-team/pipeline#running-the-pipeline-locally this gitlab-ci-local is now advertised as a potential tool for running the Salsa CI pipeline locally. Salsa CI is Debian's custom GitLab CI pipeline for testing Debian packaging git repositories before uploading Debian source packages to Debian archives.
I am however not able to fully run the pipeline locally, as the RELEASE
variable does not propagate properly.
Steps to reproduce on a Debian/Ubuntu host:
# Install git-buildpackage
sudo apt install git-buildpackage --no-install-recommends
# Clone Debian packaging sources of an example package
gbp clone --verbose --add-upstream-vcs https://salsa.debian.org/debian/entr.git
cd entr
# Preview seems to work correctly
gitlab-ci-local --file debian/salsa-ci.yml --preview
# The list seems mostly correct, but some test jobs are missing
gitlab-ci-local --file debian/salsa-ci.yml --list
name description stage when allow_failure needs
extract-source provisioning on_success false
build build on_success false
build armel build on_success false
build armhf build on_success false
build arm64 build on_success false
build riscv64 build on_success false
build source build on_success false
upgrade from bookworm upgrade package and distro on_success false
upgrade from bullseye upgrade package and distro on_success false
upgrade from buster upgrade package and distro on_success false
upgrade from stretch upgrade package and distro on_success false
# Run the entire pipeline locally
gitlab-ci-local --file debian/salsa-ci.yml
The first job extract-sources
passes correctly, but the second job build
fails on:
parsing and downloads finished in 318 ms.
json schema validated in 133 ms
build starting registry.salsa.debian.org/salsa-ci-team/pipeline/base: (build)
Error: Command failed with exit code 125: docker pull registry.salsa.debian.org/salsa-ci-team/pipeline/base:
Error: invalid reference format
at makeError (/snapshot/firecow-gitlab-ci-local/node_modules/execa/lib/error.js:60:11)
at <anonymous> (/snapshot/firecow-gitlab-ci-local/node_modules/execa/index.js:118:26)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async i (/snapshot/firecow-gitlab-ci-local/src/job.ts:1003:13)
at async Ut.pullImage (/snapshot/firecow-gitlab-ci-local/src/job.ts:1016:13)
at async Ut.start (/snapshot/firecow-gitlab-ci-local/src/job.ts:531:13)
at async <anonymous> (/snapshot/firecow-gitlab-ci-local/node_modules/p-map/index.js:57:22)
This error is from Podman/Docker as the image is missing the tag. I can get past this by defining the RELEASE
manually:
gitlab-ci-local --file debian/salsa-ci.yml --variable RELEASE=unstable build
However, this command will complain about /builds
and /gcl-builds
not existing and fail:
build $ chmod o-w /builds
build > chmod: cannot access '/builds': No such file or directory
build finished in 14 s FAIL 1
build Running after script...
With the steps above to repeat this, could you please advice if you have any tips to make Salsa CI more compatible with gitlab-ci-local?
Or is there something in gitlab-ci-local that could be improved to be able to run Salsa CI as-is?
Thanks for maintaining this tool!