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

Use hand-written change detection for PR/push job trimming #19045

Merged
merged 5 commits into from
May 20, 2023

Conversation

huonw
Copy link
Contributor

@huonw huonw commented May 18, 2023

This replaces the use of https://github.com/tj-actions/changed-files with a much simpler hand-written version:

  1. determine the commit to compare the PR to
    1. for a push, this is the immediate parent (i.e. HEAD^)
    2. for a pull request, this is the HEAD of the base branch
  2. do the comparison using git diff --name-only $comparison_sha HEAD

This is basically what the action does, except it needs to handle a lot more edge cases/functionality that don't matter to pants: categorising the changes in detail (e.g. which files are specifically added vs. modified vs. renamed etc.), submodules, and various other forms of customisation. Pants just cares which files have any changes at all, which is much simpler.

Handling PRs is a bit subtle, but the 'simple' implementation (just diff Actions' HEAD vs base branch HEAD in isolation) is correct, without needing to deal with commit ranges or finding a merge base, I think:

  1. GHA runs on the merge of base branch HEAD and PR HEAD by default: this is why actions don't run if there's merge conflicts
  2. This merge commit is the default checked-out commit/aka the GHA HEAD
  3. Thus, the GHA HEAD includes the base branch HEAD and any changes there. Diffing the base branch HEAD and GHA HEAD will identify only the changes from the PR that were merged in.

For instance, this PR branches off af8004a from last week, which is 30 commits older than the current main HEAD a267fef. Here's the results of various git diff --name-only $sha1 $sha2 | pants run build-support/bin/classify_changed_files.py calls:

description sha1 sha2 changes
branch point vs. main af8004a a267fef ci_config docs other release rust
PR vs. main a267fef 3f04618 ci_config docs other release rust
PR vs. branch point af8004a 3f04618 ci_config other
CI: PR merge vs. main a267fef (transient on CI) ci_config other

This approach ensures we're diffing the actual changes that would get merged (if nothing else merged, cf. a merge queue), meaning the contents of the eventual squash-and-merge commit, which can be slightly different to what's shown in the PR UI. It also means we don't need to worry about PRs getting too far from main for change detection to work, because it's literally diffing commits and their file trees in isolation, rather than needing to traverse far into history.

This PR tests the PR logic, and I've tested the push logic on my fork.

@huonw huonw added the category:internal CI, fixes for not-yet-released features, etc. label May 18, 2023
@huonw huonw changed the title Experiment: Use hand-written change detection for PR/push job trimming Use hand-written change detection for PR/push job trimming May 18, 2023
@huonw huonw force-pushed the feature/better-change-detection branch from 4b77f91 to 3f04618 Compare May 18, 2023 22:58
@huonw huonw marked this pull request as ready for review May 18, 2023 23:16
@huonw huonw requested review from benjyw and thejcannon May 18, 2023 23:19
@thejcannon
Copy link
Member

Just for my own understanding, this is all a bit of a workaround, right?

Ideally "the cache" would just make doc only changes go pretty quickly. That's what we see our build at $work. The challenge is getting the cache to be warm/hot enough.

@huonw
Copy link
Contributor Author

huonw commented May 19, 2023

Potentially? I'm just changing implementation details and aren't across the historical context. Relevant changes from the git history:

I think relying on remote caching isn't feasible, in the short term:

@benjyw
Copy link
Contributor

benjyw commented May 19, 2023

Just for my own understanding, this is all a bit of a workaround, right?

Ideally "the cache" would just make doc only changes go pretty quickly. That's what we see our build at $work. The challenge is getting the cache to be warm/hot enough.

Yes, in an ideal world the cache (or relying on --changed-since, which perhaps we should do?) would be sufficient.

But this is just replacing like with like, to fix the issue you pointed out a few days ago.

@benjyw
Copy link
Contributor

benjyw commented May 19, 2023

And yeah, this is primarily to not build rust or wheels when we don't need to.

@thejcannon
Copy link
Member

Yeah, I'm using this as an opportunity to educate myself. Certainly not meant as a challenge or blocker 😄

@stuhood
Copy link
Member

stuhood commented May 19, 2023

(Looks like you have reviewers, but just stopping by to say: thank you for working on the CI infrastructure!)

@huonw huonw merged commit 0c1d6ed into pantsbuild:main May 20, 2023
@huonw huonw deleted the feature/better-change-detection branch May 20, 2023 05:56
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
@illicitonion illicitonion mentioned this pull request May 26, 2023
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit to illicitonion/pants that referenced this pull request May 26, 2023
Internal changes:

* Fix TypedDict construction ([pantsbuild#19166](pantsbuild#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException ([pantsbuild#19149](pantsbuild#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking ([pantsbuild#19141](pantsbuild#19141))

* Set up remote caching in CI  ([pantsbuild#19144](pantsbuild#19144))

* refactor(internal): adjust pants_venv venv_dir calculation ([pantsbuild#19140](pantsbuild#19140))

* Prepare `2.16.0rc4`. ([pantsbuild#19146](pantsbuild#19146))

* Warn about `files()` in PEXes in one place ([pantsbuild#19027](pantsbuild#19027))

* Drop our explicit dep on `syn` ([pantsbuild#19134](pantsbuild#19134))

* Fix auto-cherry-picker's merge-conflicts ([pantsbuild#19125](pantsbuild#19125))

* Use explicit depths on fetches when running cherry-picks in CI ([pantsbuild#19127](pantsbuild#19127))

* Make determine_python() pin to 3.9 ([pantsbuild#19116](pantsbuild#19116))

* Upgrade to `actions/checkout@v3` ([pantsbuild#19112](pantsbuild#19112))

* Run the cherry pick script with `-x` for debugging ([pantsbuild#19095](pantsbuild#19095))

* Add more linux x86 test CI shards ([pantsbuild#19099](pantsbuild#19099))

* Use a trait for remote ByteStore network implementation ([pantsbuild#19050](pantsbuild#19050))

* Increase the logging of release version file publishing. ([pantsbuild#19092](pantsbuild#19092))

* Remove the Toolchain plugin ([pantsbuild#18978](pantsbuild#18978))

* Fix bad merge of pantsbuild#18829. ([pantsbuild#19080](pantsbuild#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex" ([pantsbuild#19071](pantsbuild#19071))

* Remove unnecessary interpreter constraint config. ([pantsbuild#19065](pantsbuild#19065))

* Use hand-written change detection for PR/push job trimming ([pantsbuild#19045](pantsbuild#19045))

* Do not build wheels on push, since that is now accomplished by the release job. ([pantsbuild#19063](pantsbuild#19063))

* Additional release job publishing fixes ([pantsbuild#19058](pantsbuild#19058))

* Change CI trigger to includelist `main` and `2.*.x` ([pantsbuild#19059](pantsbuild#19059))

* Release doc and script fixes ([pantsbuild#19043](pantsbuild#19043))

* Update cherry-picker to use `pull_request_target` ([pantsbuild#19048](pantsbuild#19048))

* Prepare `2.16.0rc3`. ([pantsbuild#19044](pantsbuild#19044))

* Prepare `2.15.1`. ([pantsbuild#19042](pantsbuild#19042))

* Fixup welcome-newcomers.yaml ([pantsbuild#19039](pantsbuild#19039))
illicitonion added a commit that referenced this pull request May 27, 2023
Internal changes:

* Fix TypedDict construction
([#19166](#19166))

* Have package_dists.InvalidEntryPoint subclass InvalidFieldException
([#19149](#19149))

* Check for `CI=true`, not `CI=1` for cherry-picking
([#19141](#19141))

* Set up remote caching in CI
([#19144](#19144))

* refactor(internal): adjust pants_venv venv_dir calculation
([#19140](#19140))

* Prepare `2.16.0rc4`.
([#19146](#19146))

* Warn about `files()` in PEXes in one place
([#19027](#19027))

* Drop our explicit dep on `syn`
([#19134](#19134))

* Fix auto-cherry-picker's merge-conflicts
([#19125](#19125))

* Use explicit depths on fetches when running cherry-picks in CI
([#19127](#19127))

* Make determine_python() pin to 3.9
([#19116](#19116))

* Upgrade to `actions/checkout@v3`
([#19112](#19112))

* Run the cherry pick script with `-x` for debugging
([#19095](#19095))

* Add more linux x86 test CI shards
([#19099](#19099))

* Use a trait for remote ByteStore network implementation
([#19050](#19050))

* Increase the logging of release version file publishing.
([#19092](#19092))

* Remove the Toolchain plugin
([#18978](#18978))

* Fix bad merge of #18829.
([#19080](#19080))

* Revert "Implement layout="zip" for Lambda/GCF, skipping lambdex"
([#19071](#19071))

* Remove unnecessary interpreter constraint config.
([#19065](#19065))

* Use hand-written change detection for PR/push job trimming
([#19045](#19045))

* Do not build wheels on push, since that is now accomplished by the
release job. ([#19063](#19063))

* Additional release job publishing fixes
([#19058](#19058))

* Change CI trigger to includelist `main` and `2.*.x`
([#19059](#19059))

* Release doc and script fixes
([#19043](#19043))

* Update cherry-picker to use `pull_request_target`
([#19048](#19048))

* Prepare `2.16.0rc3`.
([#19044](#19044))

* Prepare `2.15.1`.
([#19042](#19042))

* Fixup welcome-newcomers.yaml
([#19039](#19039))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:internal CI, fixes for not-yet-released features, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants