forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
We already support Azure Pipelines and GitHub Workflows in the Git project, but until now we do not have support for GitLab CI. While it is arguably not in the interest of the Git project to maintain a ton of different CI platforms, GitLab has recently ramped up its efforts and tries to contribute to the Git project more regularly. Part of a problem we hit at GitLab rather frequently is that our own, custom CI setup we have is so different to the setup that the Git project has. More esoteric jobs like "linux-TEST-vars" that also set a couple of environment variables do not exist in GitLab's custom CI setup, and maintaining them to keep up with what Git does feels like wasted time. The result is that we regularly send patch series upstream that fail to compile or pass tests in GitHub Workflows. We would thus like to integrate the GitLab CI configuration into the Git project to help us send better patch series upstream and thus reduce overhead for the maintainer. The integration does not necessarily have to be a first-class citizen, which would in practice only add to the fallout that pipeline failures have for the maintainer. That being said, we are happy to maintain this alternative CI setup for the Git project and will make test results available as part of our own mirror of the Git project at [1]. This commit introduces the integration into our regular CI scripts so that most of the setup continues to be shared across all of the CI solutions. Note that as the builds on GitLab CI run as unprivileged user, we need to pull in both sudo and shadow packages to our Alpine based job to set this up. [1]: https://gitlab.com/gitlab-org/git Signed-off-by: Patrick Steinhardt <[email protected]>
- Loading branch information
1 parent
533eaa9
commit e605a3c
Showing
4 changed files
with
114 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
default: | ||
timeout: 2h | ||
|
||
workflow: | ||
rules: | ||
- if: $CI_PIPELINE_SOURCE == "merge_request_event" | ||
- if: $CI_COMMIT_TAG | ||
- if: $CI_COMMIT_REF_PROTECTED == "true" | ||
|
||
test: | ||
image: $image | ||
before_script: | ||
- ./ci/install-docker-dependencies.sh | ||
script: | ||
- useradd builder --create-home | ||
- chown -R builder "${CI_PROJECT_DIR}" | ||
- sudo --preserve-env --set-home --user=builder ./ci/run-build-and-tests.sh | ||
after_script: | ||
- | | ||
if test "$CI_JOB_STATUS" != 'success' | ||
then | ||
sudo --preserve-env --set-home --user=builder ./ci/print-test-failures.sh | ||
fi | ||
parallel: | ||
matrix: | ||
- jobname: linux-sha256 | ||
image: ubuntu:latest | ||
CC: clang | ||
- jobname: linux-gcc | ||
image: ubuntu:20.04 | ||
CC: gcc | ||
CC_PACKAGE: gcc-8 | ||
- jobname: linux-TEST-vars | ||
image: ubuntu:20.04 | ||
CC: gcc | ||
CC_PACKAGE: gcc-8 | ||
- jobname: linux-gcc-default | ||
image: ubuntu:latest | ||
CC: gcc | ||
- jobname: linux-leaks | ||
image: ubuntu:latest | ||
CC: gcc | ||
- jobname: linux-asan-ubsan | ||
image: ubuntu:latest | ||
CC: clang | ||
- jobname: pedantic | ||
image: fedora:latest | ||
- jobname: linux-musl | ||
image: alpine:latest | ||
artifacts: | ||
paths: | ||
- t/failed-test-artifacts | ||
when: on_failure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters