Skip to content

Deliberately trigger CI workflows based on what files were changed #2213

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

Merged
merged 3 commits into from
Jul 28, 2022

Conversation

alamb
Copy link
Contributor

@alamb alamb commented Jul 28, 2022

Which issue does this PR close?

Closes #2149

This is the final part of the CI workflow I have planned under the aegis of that #2149 😓

Rationale for this change

Right now we run almost all CI checks for all PRs even those that make no code changes (changes to README, etc) or changes to some other crate (e.g. change in arrow-flight can't affect parquet yet we run all the parquet checks anyways)

This increases PR times in two ways: 1 more checks need to complete and 2. we consume many github action builder minutes on useless tests, which increases the time spent waiting for a builder on the queue.

Of course, there is a real possibility that this change may miss running a CI check that causes master to fail -- but I think the improved PR speed and test specificity will make up for any such mishaps. We can also always go back to running all the tests on all PRs

What changes are included in this PR?

The basic idea is to run all tests on pushes to master (to keep master green) but only run the individual workflows on PRs that change files that could affect them.

Are there any user-facing changes?

No

@alamb alamb added the development-process Related to development process of arrow-rs label Jul 28, 2022
@@ -19,8 +19,17 @@
# tests for arrow_flight crate
name: arrow_flight


# trigger for all PRs that touch certain files and changes to master
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the pattern:

on:
  push:
    branches:
      - master

means "run on all changes to master"

on:
  push:
    branches:
      - master

Means "run only when files in arrow/** arrow-flight/** or .github/** change"

@@ -41,9 +42,3 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/workflows/dev_pr/labeler.yml
sync-labels: true

#- name: Checks if PR needs rebase
Copy link
Contributor Author

Choose a reason for hiding this comment

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

driveby cleanup

@codecov-commenter
Copy link

Codecov Report

Merging #2213 (340a7be) into master (bc493d9) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2213   +/-   ##
=======================================
  Coverage   82.56%   82.57%           
=======================================
  Files         239      239           
  Lines       62269    62269           
=======================================
+ Hits        51415    51417    +2     
+ Misses      10854    10852    -2     
Impacted Files Coverage Δ
parquet/src/encodings/encoding.rs 93.62% <0.00%> (+0.19%) ⬆️
...rquet/src/arrow/record_reader/definition_levels.rs 89.02% <0.00%> (+0.42%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us.

@alamb alamb marked this pull request as ready for review July 28, 2022 17:40
@alamb alamb changed the title Deliberately triggering CI workflows based on what files were changed Deliberately trigger CI workflows based on what files were changed Jul 28, 2022
@alamb
Copy link
Contributor Author

alamb commented Jul 28, 2022

🚀

@alamb alamb merged commit 8139f7b into apache:master Jul 28, 2022
@alamb alamb deleted the alamb/ci_trigger branch July 28, 2022 18:56
@ursabot
Copy link

ursabot commented Jul 28, 2022

Benchmark runs are scheduled for baseline = bc493d9 and contender = 8139f7b. 8139f7b is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on ec2-t3-xlarge-us-east-2] ec2-t3-xlarge-us-east-2
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on test-mac-arm] test-mac-arm
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on ursa-i9-9960x] ursa-i9-9960x
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on ursa-thinkcentre-m75q] ursa-thinkcentre-m75q
Buildkite builds:
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

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 arrow-rs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve Arrow CI
4 participants