You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR overhauls the CI into something hopefully a bit simpler/sensible. Now, we have recategorized the github actions into just two workflows: long and short tests. The short tests should provide quick feedback if there's some typo/build error.
All per-release tests on Travis have been changed to per-PR, and have either stayed in Travis or been moved to GH-actions if possible. Those remaining in travis typically are the more niche build configurations and whatnot. Adding a nightly build to travis as discussed offline isn't necessary since we can actually run these per-PR, since the remaining tests aren't so long (and Travis runs them in parallel, and completes faster than dev-long-tests).
Note that no tests have been removed, and tests run either as frequently or more frequently than before, though they may have been migrated or broken up into independent tests.
So, this PR:
Removes all existing gh actions workflows.
Adds dev-short-tests and dev-long-tests workflows. Short tests are defined as those that typically finish under 5min, long tests are typically more than 10 min.
Migrates as many of the travis and appveyor tests to gh actions.
Breaks up some of the really long tests that were basically multiple tests into individual jobs. Now the max length test is <40min (instead of 1hr+).
Adds memory sanitizer to oss-fuzz test.
Adds build-cancellation to redundant GH actions builds, to prevent long queues.
Next steps:
Migrate even more off of AppVeyor.
Open questions:
Should we still support visual studio 2013 and less? According to microsoft docs the 2013 visual studio "RTW" and below are no longer supported.
Should regressiontest get added as per-PR? I don't see why it'd make more sense to run nightly rather than per-PR. It's also not that long.
What to do regarding the newest clang static analyzer warnings? It seems like most of these are false positives.
senhuang42
changed the title
[CI] Re-do the github actions workflows, migrate various travis and appveyor tests.
[CI][1/2] Re-do the github actions workflows, migrate various travis and appveyor tests.
May 21, 2021
If it's not long, then having it run per-PR seems to make sense.
I would like the point of view of @terrelln , which created this test.
It's under 20mn (faster than half of the dev-long-tests). Nick and I had briefly discussed this offline, and think it'd be a good idea to make it a per-PR test. I'll submit that as a separate PR though, since I'll have to test that the GH Actions artifact generation works as expected first.
Yeah, but I've left in the travis static analyze test in this PR, which uses an older version of clang and doesn't generate the warnings that cause the test to fail. So merging this PR still retains the static analyze test as-is.
This file contains hidden or 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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR overhauls the CI into something hopefully a bit simpler/sensible. Now, we have recategorized the github actions into just two workflows: long and short tests. The short tests should provide quick feedback if there's some typo/build error.
All per-release tests on Travis have been changed to per-PR, and have either stayed in Travis or been moved to GH-actions if possible. Those remaining in travis typically are the more niche build configurations and whatnot. Adding a nightly build to travis as discussed offline isn't necessary since we can actually run these per-PR, since the remaining tests aren't so long (and Travis runs them in parallel, and completes faster than
dev-long-tests).Note that no tests have been removed, and tests run either as frequently or more frequently than before, though they may have been migrated or broken up into independent tests.
So, this PR:
dev-short-testsanddev-long-testsworkflows. Short tests are defined as those that typically finish under 5min, long tests are typically more than 10 min.Next steps:
Open questions:
regressiontestget added as per-PR? I don't see why it'd make more sense to run nightly rather than per-PR. It's also not that long.clangstatic analyzer warnings? It seems like most of these are false positives.