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
CI: add .circleci/config.yml #7239
Conversation
This comment has been minimized.
This comment has been minimized.
We got the basic build working here - https://app.circleci.com/pipelines/github/zmarkan/curl/5/workflows/19000ec0-2f9e-4122-bc5a-b4143420213e/jobs/5 Still tweaking and optimising some things but in a nutshell this is a start ;) |
Snagging the config from the POC for better visibility - as Zan said, still some tweaks and optimisations to apply. # Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
commands:
configure:
steps:
- run:
command: |
./buildconf
./configure --enable-warnings --enable-werror --with-openssl
build:
steps:
- run: make
test:
steps:
- run: make test-nonflaky
executors:
ubuntu:
machine:
image: ubuntu-2004:202010-01
jobs:
basic:
executor: ubuntu
steps:
- checkout
- configure
- build
- test
workflows:
all:
jobs:
- basic |
Nice, thanks! This is great start. And if we want to limit these to only run for PRs and for the master branch? |
Assisted-by: Gabriel Simmer Closes #7239
842f122
to
afeda77
Compare
This comment has been minimized.
This comment has been minimized.
Assisted-by: Gabriel Simmer Closes #7239
b5fe06c
to
174b8a4
Compare
@bagder these checks indicators should show up for every single job and workflow combination - more jobs being run -> more checks |
thanks, I figured it out just after I asked. Sorry for the noise. |
We also did some more hackery and managed to split the tests for a bit of a performance improvement - https://app.circleci.com/pipelines/github/zmarkan/curl/13/workflows/1d972043-a268-4101-9ed3-c30bb1c04b6d/jobs/19/steps Relevant config: # Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
commands:
configure:
steps:
- run:
command: |
./buildconf
./configure --enable-warnings --enable-werror --with-openssl
build:
steps:
- run: make
test:
steps:
- run:
command: TFLAGS="-l" make test-nonflaky | pcregrep -o1 "test (\d+)\.\.\." | circleci tests split > tests.txt
name: split tests
- run:
command: TFLAGS="$(cat tests.txt | tr '\n' ' ')" make test-nonflaky
executors:
ubuntu:
machine:
image: ubuntu-2004:202010-01
docker:
docker:
- image: cimg/base:2021.05
jobs:
basic:
executor: ubuntu
steps:
- checkout
- configure
- build
- test
parallelism: 5
basic-docker:
executor: docker
steps:
- checkout
- run:
command: |
sudo apt-get update
sudo apt-get install libtool autoconf automake pkg-config libssl-dev pcregrep
name: install prereqs
- configure
- build
- test
parallelism: 5
workflows:
all:
jobs:
- basic
- basic-docker
(note that |
Assisted-by: Gabriel Simmer Closes #7239
We do it on circle CI instead
0a86f2f
to
53c26de
Compare
Let's merge this simple two-job config as a start. It only removes a single job from travis, but we should be able to add more. Assistance in doing this will be appreciated! |
Sounds good @bagder - feel free to join our Discord at https://discord.gg/eppPRyBn which is a good place to interact directly with some of our engineers and DevRel team. |
First take