-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Allow testing on GitLab CI #3705
Conversation
Shouldn't it be the responsibility of the forks' owners to maintain files for their CI servers? |
If there are enough GitLab users I wouldn't mind adding this. Otherwise owners will need to rebase the change on every sync and sending a PR without that change. Doable but a pain. I think it depends how many devs use GitLab. It's hard to keep track of that. I would like to see some 👍 from gitlab users. I would suggest to try to use |
I would be against including any CI files in a project that the project does not use itself. They simply won't get maintained unless used. |
I was able to re-use The The builds are passing: https://git.zilium.de/splattael/crystal/pipelines/266 |
@splattael weren't you able to trigger |
I don't know if it makes sense to trigger docker within docker. The plain "docker:latest" image is not shipped with bash, so re-using bin/ci would have been difficult. |
@splattael I still find disturbing that bin/ci needs to be modified. A solution in this lines avoids the duplication of the docker image to be used that the current proposed changes still has. If something like this can be accomplish I think we are fine to support forking in gitlab. image: docker:latest
# https://docs.gitlab.com/ce/ci/docker/using_docker_build.html
variables:
DOCKER_DRIVER: overlay
services:
- docker:dind
variables:
TRAVIS_OS_NAME: linux
.test-crystal: &test-crystal
before_script:
- cd /builds
# cd /builds/{user}
- cd $(ls -1 .)
# cd /builds/{user}/{project}
- cd $(ls -1 .)
- ./bin/ci prepare_system
- ./bin/ci prepare_build
script:
- ./bin/ci build
x86_64:
<<: *test-crystal
variables:
ARCH: x86_64
ARCH_CMD: linux64
i386:
<<: *test-crystal
variables:
ARCH: i386
ARCH_CMD: linux32 |
My concern is that if we merge CI configuration code for a CI platform that the core developers don't use, it sets a precedent for merging config for every CI software under the sun. |
@bcardiff Interesting. I'll give it a try: https://git.zilium.de/splattael/crystal/pipelines @RX14 I understand your concern but at least 2 Crystal users are willing to support |
@bcardiff The working directory at the start of the build will be the project root, which happens to already be @splattael Why do we need to specify a separate OS named "docker" here? Why not just reuse the existing linux one? Also, what's the benefit of placing commands in the FWIW, I typically use gitlab.com as my primary platform, mirroring to github after the fact and using github for pull requests since it remains more popular. |
@TheLonelyGhost You can see the latest Any hints are welcome! 😃 |
I am going to close this PR as I am not able to re-use |
In case that anyone has a fork of Crystal on a GitLab instance this PR provides the corresponding
.gitlab-ci.yml
so testing on the built-in GitLab CI would work out of the box.Examples:
On systems other than GitLab this additional files does nothing.