GitLab CI teething troubles
Thanks @abhishek.agarwal for all your hard work setting up the CI. I know it's quite a learning curve to get it running smoothly. After putting it through its paces on !2 (merged), I have a few comments:
- On my PR !2 (merged) the push f22eca3d actually triggers two different pipelines (see here), which is strange.
- It also seems like
update_docker
andbuild_docker
actually do almost the same thing -- would it be possible to merge them? - Moreover, what is a "detached" pipeline? The
update_docker
stage always seems to run on a detached pipeline. The side effect may be that, whileupdate_docker
is running,build_docker
may be pulling an old version of the image, which is not desired behavior. - I also notice the specifications.pdf is being rebuilt often even though there are no updates to its source files. This adds unncessary commits to the git history, and PDFs are expensive in storage to commit.
I imagine a CI flow like the following, where it would only run if "NO_CI" is absent from the latest commit message:
- if (
environment/*
is updated || commit message has "UPDATE_DOCKER")- docker build
- docker push qhal:branch
- run tests
- docker pull qhal:branch
- pytest
- if (
specs/*
is updated )- update PDF
- update HTML docs
I'm unsure if the HTML docs need to be rebuilt regardless of whether specs/*
is updated. If it does, then it needs to be outside the if-block.
Edited by Gabriel Gallardo