Skip to content
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

Add GitHub Workflow CI #2798

Merged
merged 71 commits into from Jul 7, 2021
Merged

Add GitHub Workflow CI #2798

merged 71 commits into from Jul 7, 2021

Conversation

EnricoMi
Copy link
Collaborator

@EnricoMi EnricoMi commented Mar 28, 2021

A GitHub Workflow for running the CPU test pipeline.
grafik

CPU tests finish in 1:30 on GitHub, GPU tests finish in 1:15 on Buildkite.

The workflow file is generated by Python script .github/gen-workflow-ci.py based on the output of .buildkite/gen-pipeline.sh, so that we implement test logic only in one place.

These are the implemented features:

  • builds all CPU images and runs appropriate tests
  • builds GPU images but does not run any tests
  • tests for GPU images are run on Buildkite after all above builds and tests succeed
  • tests three images on macOS (replaces TravisCI)
  • images where all frameworks are nightly versions do not prevent the Buildkite tests
  • PRs without code changes (e.g. docs only) to not run the full build and test cycle (that is what Buildkite pipeline does)
  • test results are downloaded from Buildkite and together with GitHub test results posted to the pull request
  • build and test steps have timeouts and are retried three times
  • workflow detects when its yaml file is not up-to-date
  • earlier workflow runs on the same branch are cancelled
  • triggering the Buildkite builds and publishing test results for fork PRs (can only be tested after merging to master)
  • daily master build schedule
  • Docker images are build on PR (not pushed), as well as master and version tags (and pushed to Dockerhub), but only if the build and test jobs succeed
  • Docs and example sync workflows integrated into the CI workflow

Limitations:

Missing:

  • disable Buildkite triggered by git pushs (with this merged into master the buildkite pipeline is empty)

@EnricoMi EnricoMi force-pushed the branch-github-workflow-ci branch 15 times, most recently from 4c6d093 to 819ef30 Compare March 30, 2021 19:28
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@EnricoMi EnricoMi force-pushed the branch-github-workflow-ci branch 2 times, most recently from 4c1c297 to 2003895 Compare March 31, 2021 10:22
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
…cker-compose.test.override.yml

Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
Signed-off-by: Enrico Minack <github@enrico.minack.dev>
@EnricoMi EnricoMi marked this pull request as ready for review July 7, 2021 13:47
@EnricoMi EnricoMi merged commit 9c527b5 into master Jul 7, 2021
@EnricoMi EnricoMi deleted the branch-github-workflow-ci branch July 7, 2021 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants