-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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] More CI reduction and clean-up #8052
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a comment I would like to see improved (potentially on a separate iteration), but apart from that LGTM!
I haven't had a real try at how the workflow feels on a fork, but any problem could be fixed up later in a second part together with Swift workflow (it's the only failure, I would be ok with merging AND temporarily disabling Swift.yml).
Of the in-flight PRs I believe #7735, that has all test passing, would be most likely be incompatible, so I would merge first either this or #7735, and then fixing up whoever goes in as second.
@@ -211,6 +212,7 @@ jobs: | |||
|
|||
linux-extensions-64-aarch64: | |||
name: Linux Extensions (AARCH64) | |||
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' | |
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' || github.repo != 'duckdb/duckdb' |
(syntax is very much pseudo-code)
I think we basically want to restrict this (and a few other similar places) only for duckdb/duckdb, since it would be useful to have this run also from any branch on forks.
Merge pull request duckdb/duckdb#8307 from Tishj/chunk_scan_state [Arrow] Add ChunkScanState interface to preserve chunk-offset when scanning Merge pull request duckdb/duckdb#8089 from pdet/basepython_tz Python TIMESTAMPTZ support Merge pull request duckdb/duckdb#8052 from Mytherin/evenlessci [CI] More CI reduction and clean-up Merge pull request duckdb/duckdb#7701 from Mause/bugfix/python-union-description Add union to test_all_types, and arrow and json R/W
Merge pull request duckdb/duckdb#8307 from Tishj/chunk_scan_state [Arrow] Add ChunkScanState interface to preserve chunk-offset when scanning Merge pull request duckdb/duckdb#8089 from pdet/basepython_tz Python TIMESTAMPTZ support Merge pull request duckdb/duckdb#8052 from Mytherin/evenlessci [CI] More CI reduction and clean-up Merge pull request duckdb/duckdb#7701 from Mause/bugfix/python-union-description Add union to test_all_types, and arrow and json R/W
Merge pull request duckdb/duckdb#8307 from Tishj/chunk_scan_state [Arrow] Add ChunkScanState interface to preserve chunk-offset when scanning Merge pull request duckdb/duckdb#8089 from pdet/basepython_tz Python TIMESTAMPTZ support Merge pull request duckdb/duckdb#8052 from Mytherin/evenlessci [CI] More CI reduction and clean-up Merge pull request duckdb/duckdb#7701 from Mause/bugfix/python-union-description Add union to test_all_types, and arrow and json R/W
- Merge pull request duckdb/duckdb#8307 from Tishj/chunk_scan_state: [Arrow] Add ChunkScanState interface to preserve chunk-offset when scanning - Merge pull request duckdb/duckdb#8089 from pdet/basepython_tz: Python TIMESTAMPTZ support - Merge pull request duckdb/duckdb#8052 from Mytherin/evenlessci: [CI] More CI reduction and clean-up - Merge pull request duckdb/duckdb#7701 from Mause/bugfix/python-union-description: Add union to test_all_types, and arrow and json R/W - Merge pull request duckdb/duckdb#8497 from samansmink/pending-execute-result-api-change: Add PendingExecutionResult::ALL_TASKS_BLOCKED
- Merge pull request duckdb/duckdb#8307 from Tishj/chunk_scan_state: [Arrow] Add ChunkScanState interface to preserve chunk-offset when scanning - Merge pull request duckdb/duckdb#8089 from pdet/basepython_tz: Python TIMESTAMPTZ support - Merge pull request duckdb/duckdb#8052 from Mytherin/evenlessci: [CI] More CI reduction and clean-up - Merge pull request duckdb/duckdb#7701 from Mause/bugfix/python-union-description: Add union to test_all_types, and arrow and json R/W - Merge pull request duckdb/duckdb#8497 from samansmink/pending-execute-result-api-change: Add PendingExecutionResult::ALL_TASKS_BLOCKED
Follow-up from #8046 (also includes that PR)
Nightly Test
Add a NightlyTest.yml that contains several tests that will not run on every PR, but only during the nightly build. This includes several tests that rarely fail, but where it is still a good idea that we run them semi-frequently.
The nightly tests contain the following tests:
The nightly tests are still run in the CI of the forks, so for bigger PRs/refactors it is still possible to verify that they pass by checking there.
Test All Types
By default
test_all_types
no longer emits a giant enum with 70K+ values forlarge_enum
- as this ends up taking a long time in debug mode making tests that use thetest_all_types
function take a good amount of time (even if the enum is never used). Instead there is now ause_large_enum
option that can be set to actually generate the large enum.Note that the data that is generated is the same, only the underlying enum type changes based on this option (containing either
enum_0, enum_69999
orenum_0, enum_1, ..., enum_69998, enum_69999
).Slow Tests
This PR also moves several tests to slow tests and removes some unnecessary/excessive loops in tests. We also add a profiling mode to
run_tests_one_by_one
, allowing the tests to be profiled so we can easily find slow tests in the future.R Extensions
Previously we had a special test for building and loading extensions in R. This was required/useful since we had special handling for dynamic loading of extensions in R. Ever since the static linking this is rather moot since the extension loading for R is not special anymore - yet the CI run still added a significant amount of time. This PR removes the CI run and the R extension loading tests.
Other Changes
DISABLE_UNITY
.