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

Switch CI to GitHub Actions #1074

Merged
merged 9 commits into from
Mar 1, 2022
Merged

Switch CI to GitHub Actions #1074

merged 9 commits into from
Mar 1, 2022

Conversation

rkm
Copy link
Member

@rkm rkm commented Mar 1, 2022

Proposed Changes

This PR switches us over to GitHub Actions from Azure Pipelines.

A goal for this was to extract much of the scripting and complexity from the CI yaml, allowing users to run and debug the build/test/release process locally in the same manner as the CI uses. All scripts can be found in the top-level ./bin directory, and are separated by "product" (smi services tool, ctp etc.). This layout should make the job of extracting any products to their own repo and CI much easier.

The CI takes about half as much time to run now (~7 mins vs 15). This can probably be reduced further with some further effort though. Another improvement is that a set of artifacts are produced for every build now, instead of only during a release build.

I've also set the schedule to run once daily, which should be useful in highlighting any flaky tests over time.

The one downside I can see in switching is that if a particular job fails you have to re-run every other job again. This is in the GHA roadmap but seems to have slipped a few times already: actions/runner#432 and github/roadmap#271

Note that some database tests are still being silently skipped, however this is also present in the existing CI. See #992

Types of changes

What types of changes does your code introduce? Tick all that apply.

  • Bugfix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation-Only Update (if none of the other choices apply)
    • In this case, ensure that the message of the head commit from the source branch is prefixed with [skip ci]

Checklist

By opening this PR, I confirm that I have:

  • Reviewed the contributing guidelines for this repository
  • Ensured that the PR branch is in sync with the target branch (i.e. it is automatically merge-able)
  • Updated any relevant API documentation
  • Created or updated any tests if relevant
  • Created a news file
    • NOTE: This must include any changes to any of the following files: default.yaml, any of the RabbitMQ server configurations, GlobalOptions.cs
  • Listed myself in the CONTRIBUTORS file 🚀
  • Requested a review by one of the repository maintainers

Issues

@rkm rkm self-assigned this Mar 1, 2022
@rkm rkm marked this pull request as ready for review March 1, 2022 17:06
@rkm rkm requested a review from tznind March 1, 2022 17:06
@rkm rkm merged commit 1ce4afa into SMI:master Mar 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants