Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #10029 > unrolled thread

GitLab CI on salsa.debian.org

Started byHans-Christoph Steiner <hans@guardianproject.info>
First post2018-01-09 19:40 +0100
Last post2018-03-21 23:30 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.debian.maint.python


Contents

  GitLab CI on salsa.debian.org Hans-Christoph Steiner <hans@guardianproject.info> - 2018-01-09 19:40 +0100
    Re: GitLab CI on salsa.debian.org Hans-Christoph Steiner <hans@at.or.at> - 2018-03-21 15:40 +0100
      Re: GitLab CI on salsa.debian.org Diane Trout <diane@ghic.org> - 2018-03-21 17:40 +0100
        Re: GitLab CI on salsa.debian.org Hans-Christoph Steiner <hans@at.or.at> - 2018-03-21 23:30 +0100

#10029 — GitLab CI on salsa.debian.org

FromHans-Christoph Steiner <hans@guardianproject.info>
Date2018-01-09 19:40 +0100
SubjectGitLab CI on salsa.debian.org
Message-ID<v66Yy-7Fj-1@gated-at.bofh.it>
One great addition that GitLab gives us is CI builds with custom Docker
images, which will run the whole build/test process for each merge
request.  For example:

https://salsa.debian.org/eighthave/python-vagrant/-/jobs/4005

I have set up a prototype Docker image for running git-buildpackage
builds automatically.  This Docker image is built and deployed using
Gitlab CI (albeit on gitlab.com):

https://gitlab.com/eighthave/ci-image-git-buildpackage

Then any git-buildpackage package can be built by doing this:

* put git project on salsa
* In Settings -> CI/CD -> General pipelines settings ->
  Custom CI config path, set it to:  debian/.gitlab-ci.yml
* include debian/.gitlab-ci.yml in the git repo with this contents:



image: registry.gitlab.com/eighthave/ci-image-git-buildpackage:latest

build:
  artifacts:
    paths:
    - *.deb
    expire_in: 1 day
  script:
    - /gitlab-ci-git-buildpackage
    - dpkg -i ../*.deb || apt-get install -f
    - mv ../*.deb .



I think we can do a lot of automation in the Docker image, like some of
the stuff I've already done in ci-image-git-buildpackage.  If someone
knows how to get ENTRYPOINT and/or CMD working with GitLab CI, then
/gitlab-ci-git-buildpackage could be run automatically.

.hc

-- 
PGP fingerprint: EE66 20C7 136B 0D2C 456C  0A4D E9E2 8DEA 00AA 5556
https://pgp.mit.edu/pks/lookup?op=vindex&search=0xE9E28DEA00AA5556

[toc] | [next] | [standalone]


#10291

FromHans-Christoph Steiner <hans@at.or.at>
Date2018-03-21 15:40 +0100
Message-ID<vvN4d-3ec-3@gated-at.bofh.it>
In reply to#10029
Since I got only crickets on this email, let me elaborate:  gitlab-ci
lets you run whatever you want as root via Docker images.  That means
its easy to run full builds, installs, and tests in gitlab-ci.  It also
makes it easy to add CI tests for various releases, like to support
backports.

.hc

Hans-Christoph Steiner:
> 
> One great addition that GitLab gives us is CI builds with custom Docker
> images, which will run the whole build/test process for each merge
> request.  For example:
> 
> https://salsa.debian.org/eighthave/python-vagrant/-/jobs/4005
> 
> I have set up a prototype Docker image for running git-buildpackage
> builds automatically.  This Docker image is built and deployed using
> Gitlab CI (albeit on gitlab.com):
> 
> https://gitlab.com/eighthave/ci-image-git-buildpackage
> 
> Then any git-buildpackage package can be built by doing this:
> 
> * put git project on salsa
> * In Settings -> CI/CD -> General pipelines settings ->
>   Custom CI config path, set it to:  debian/.gitlab-ci.yml
> * include debian/.gitlab-ci.yml in the git repo with this contents:
> 
> 
> 
> image: registry.gitlab.com/eighthave/ci-image-git-buildpackage:latest
> 
> build:
>   artifacts:
>     paths:
>     - *.deb
>     expire_in: 1 day
>   script:
>     - /gitlab-ci-git-buildpackage
>     - dpkg -i ../*.deb || apt-get install -f
>     - mv ../*.deb .
> 
> 
> 
> I think we can do a lot of automation in the Docker image, like some of
> the stuff I've already done in ci-image-git-buildpackage.  If someone
> knows how to get ENTRYPOINT and/or CMD working with GitLab CI, then
> /gitlab-ci-git-buildpackage could be run automatically.
> 
> .hc
> 

[toc] | [prev] | [next] | [standalone]


#10292

FromDiane Trout <diane@ghic.org>
Date2018-03-21 17:40 +0100
Message-ID<vvOWl-4rZ-11@gated-at.bofh.it>
In reply to#10291
Can you trigger test on dependencies changing?

Does CI run on architectures other than amd64?

(I was thinking of complex packages with many dependencies like dask,
or with fiddly bit manipulation like pandas)

So this would get tests on each commit instead of the current
autopkgtests which run on each build?

On Wed, 2018-03-21 at 15:27 +0100, Hans-Christoph Steiner wrote:
> Since I got only crickets on this email, let me elaborate:  gitlab-ci
> lets you run whatever you want as root via Docker images.  That means
> its easy to run full builds, installs, and tests in gitlab-ci.  It
> also
> makes it easy to add CI tests for various releases, like to support
> backports.

[toc] | [prev] | [next] | [standalone]


#10294

FromHans-Christoph Steiner <hans@at.or.at>
Date2018-03-21 23:30 +0100
Message-ID<vvUp3-89l-1@gated-at.bofh.it>
In reply to#10292
Diane Trout:
> Can you trigger test on dependencies changing?

You can cron test runs, that would then check the deps.

> Does CI run on architectures other than amd64?

That depends on the gitlab-ci-runners that are registered.  Anyone can
register CI-runners for their own projects, and CI runners can be any
Debian box or VM.  It works easiest with Docker setups.  CI runners can
be tagged, the jobs can be marked for the required tags.  So the CI
runners could be tagged based on arch.

I hope that salsa.debian.org will also have some shared CI runners for
other arches.

> (I was thinking of complex packages with many dependencies like dask,
> or with fiddly bit manipulation like pandas)
> 
> So this would get tests on each commit instead of the current
> autopkgtests which run on each build?

It runs on each new push to git, so if you push commits one at a time,
it'll run per commit.

.hc

> On Wed, 2018-03-21 at 15:27 +0100, Hans-Christoph Steiner wrote:
>> Since I got only crickets on this email, let me elaborate:  gitlab-ci
>> lets you run whatever you want as root via Docker images.  That means
>> its easy to run full builds, installs, and tests in gitlab-ci.  It
>> also
>> makes it easy to add CI tests for various releases, like to support
>> backports.
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web