Skip to content

Comments

Runs-on for more actions#20274

Merged
blaginin merged 19 commits intomainfrom
db/runs-on-2
Feb 23, 2026
Merged

Runs-on for more actions#20274
blaginin merged 19 commits intomainfrom
db/runs-on-2

Conversation

@blaginin
Copy link
Collaborator

@blaginin blaginin commented Feb 10, 2026

Follow up on #20107: switch more actions to the new flow

Job OLD NEW Delta
linux build test (from #20107) 3m 55s 1m 46s -2m 09s (55% faster)
cargo test (amd64) (from #20107) 11m 34s 3m 13s -8m 21s (72% faster)
cargo check datafusion features 11m 18s 6m 21s -4m 57s (44% faster)
cargo examples (amd64) 9m 13s 4m 35s -4m 38s (50% faster)
verify benchmark results (amd64) 11m 48s 4m 22s -7m 26s (63% faster)
cargo check datafusion-substrait features 10m 20s 3m 56s -6m 24s (62% faster)
cargo check datafusion-proto features 4m 48s 2m 25s -2m 23s (50% faster)
cargo test datafusion-cli (amd64) 5m 42s 1m 58s -3m 44s (65% faster)
cargo test doc (amd64) 8m 07s 3m 16s -4m 51s (60% faster)
cargo doc 5m 10s 1m 56s -3m 14s (63% faster)
Run sqllogictest with Postgres runner 6m 06s 2m 46s -3m 20s (55% faster)
Run sqllogictest in Substrait round-trip mode 6m 42s 2m 38s -4m 04s (61% faster)
clippy 6m 01s 2m 10s -3m 51s (64% faster)
check configs.md and ***_functions.md is up-to-date 6m 54s 2m 12s -4m 42s (68% faster)

@blaginin blaginin self-assigned this Feb 10, 2026
@github-actions github-actions bot added the development-process Related to development process of DataFusion label Feb 10, 2026
linux-build-lib:
name: linux build test
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m7a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m7a,cpu=8,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this one is quite lightweight, i switched to just 8 cpu and got the same ish time

Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for pushing this along @blaginin -- it is a really nice quality of dev improvement

linux-build-lib:
name: linux build test
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m7a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=8,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing I was thinking is that someone in the future may run into this and have a hard time understanding what all the runs-on is all about

I didn't see it documented anywhere -- https://github.com/search?q=repo%3Aapache%2Fdatafusion%20runs-on&type=code

Is there any chance that you could write up some documentation in a README that explains why we are using runs-on and how to apply/unapply it?

For example, it might not be obvious without the context of this PR, to know that

  runs-on: ${{ github.repository_owner == 'apache' && format('runs-on={0},family=m8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}

Was the same as

    runs-on: ubuntu-latest

Except that in the apache repo it triggers the use of special runners

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will do!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated docs/source/contributor-guide/index.md and referenced that in CI yml file. Do you think we should also mention that in readme?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to merge this PR now but happy to expand docs further in the follow up in you like 🙂

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Feb 21, 2026
@blaginin blaginin marked this pull request as ready for review February 21, 2026 14:48
@blaginin
Copy link
Collaborator Author

blaginin commented Feb 21, 2026

We just got our AWS limits increased to a very high number, so we can now switch all the remaining actions 🙂. In this PR I've switched everything big (>= 4min) except for:

  • extended tests: will do in a follow-up PR
  • macOS: cannot switch yet, will think about optimizations separately

I think overall this change should save us 1 hour of CI time per commit

@blaginin blaginin added this pull request to the merge queue Feb 23, 2026
Merged via the queue into main with commit 60457d0 Feb 23, 2026
78 of 79 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development-process Related to development process of DataFusion documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants