[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adding CI pipeline



* Sébastien Villemot <sebastien@debian.org> [2025-11-08 16:15]:

Le samedi 08 novembre 2025 à 15:31 +0100, Rafael Laboissière a écrit :
Should we add CI pipelines to the Git repositories for our packages at
Salsa.d.o? It seems as simple as adding a debian/salsa-ci.yml file with
the following contents:

     ---
     include:
       - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml

However, I have been reluctant to do so because I think it is a waste of
resources, and it is not sustainable to have package builds for every
single commit (or push). Perhaps there are alternative ways, such as
running the CI pipeline under specific conditions, such as when the
debian/changelog file or a CI-specific file is committed, or when a
commit is made in a specific side branch, or according to special
indications in the commit message, etc. Or am I just overly preoccupied
with wasting planet resources?

What do you think?

I personally do not use salsa CI, since I run various tools locally
before doing an upload (lintian, piuparts, autopkgtest). Admittedly
salsa CI runs even more tools, but I share your concerns about resource
usage.

To summarize, I’m not against activating salsa CI, but I’m also fine
with the statu quo.

Thanks for the comments, Sébastien.

I ran some experiments on a side branch (test-ci) in the Git repository for octave-queuing.[1]

I added the debian/salsa-ci.yml file containing the following:

##################################### include: - project: salsa-ci-team/pipeline ref: master file: recipes/debian.yml rules: - changes: - debian/changelog #####################################

The pipeline runs only when the triggering commit has changes in the debian/changelog file. For other commits, the pipeline "fails" with the "error" message: "Unable to create pipeline; jobs config should contain at least one visible job." This is not actually a failure. However, this is exactly what we want: no docker is loaded, and no resources are wasted.

This only works, of course, if the name of the CI/CD file is correctly defined in the Settings > CI/CD > General Pipelines configuration section.[2]

Assuming there are no objections, I will implement this plan—or another that we agree on and that is better—in our Git repositories.

Best,

Rafael Laboissière

 [1] https://salsa.debian.org/pkg-octave-team/octave-queueing/-/commits/test-ci?ref_type=heads
 [2] https://salsa.debian.org/pkg-octave-team/octave-queueing/-/settings/ci_cd#js-general-pipeline-settings


Reply to: