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

Require scie-pants 0.9.2 or newer, for new distribution model #19654

Merged
merged 3 commits into from
Aug 23, 2023

Conversation

huonw
Copy link
Contributor

@huonw huonw commented Aug 23, 2023

This updates Pants to require and check for the scie-pants launcher binary version: we need version 0.9 or later, to have support for the new distribution model. This syncs with pantsbuild/scie-pants#246 (which will become scie-pants 0.9.2 / 0.9.3), which sets the SCIE_PANTS_VERSION environment variable when running pants.

This will be cherry-picked back as far as we support, to help users upgrade their launcher earlier.

Fixes #19600

@huonw huonw merged commit 3f4ed94 into pantsbuild:main Aug 23, 2023
24 checks passed
@huonw huonw deleted the feature/19600-scie-version branch August 23, 2023 03:50
@WorkerPants
Copy link
Member

I tried to automatically cherry-pick this change back to each relevant milestone, so that it is available in those older releases of Pants.

❌ 2.16.x

I was unable to cherry-pick this PR to 2.16.x, likely due to merge-conflicts.

Steps to Cherry-Pick locally

To resolve:

  1. (Ensure your git working directory is clean)
  2. Run the following script to reproduce the merge-conflicts:
    git fetch https://github.com/pantsbuild/pants main \
      && git fetch https://github.com/pantsbuild/pants 2.16.x \
      && git checkout -b cherry-pick-19654-to-2.16.x FETCH_HEAD \
      && git cherry-pick 3f4ed9482689aa80e5b26a6d2dad10e7847c6197
  3. Fix the merge conflicts and commit the changes
  4. Run build-support/cherry_pick/make_pr.sh "19654" "2.16.x"

Please note that I cannot re-run CI if a job fails. Please work with your PR approver(s) to re-run CI if necessary.

❌ 2.17.x

I was unable to cherry-pick this PR to 2.17.x, likely due to merge-conflicts.

Steps to Cherry-Pick locally

To resolve:

  1. (Ensure your git working directory is clean)
  2. Run the following script to reproduce the merge-conflicts:
    git fetch https://github.com/pantsbuild/pants main \
      && git fetch https://github.com/pantsbuild/pants 2.17.x \
      && git checkout -b cherry-pick-19654-to-2.17.x FETCH_HEAD \
      && git cherry-pick 3f4ed9482689aa80e5b26a6d2dad10e7847c6197
  3. Fix the merge conflicts and commit the changes
  4. Run build-support/cherry_pick/make_pr.sh "19654" "2.17.x"

Please note that I cannot re-run CI if a job fails. Please work with your PR approver(s) to re-run CI if necessary.


When you're done manually cherry-picking, please remove the needs-cherrypick label on this PR.

Thanks again for your contributions!

🤖 Beep Boop here's my run link

@WorkerPants WorkerPants added the auto-cherry-picking-failed Auto Cherry-Picking Failed label Aug 23, 2023
huonw added a commit to huonw/pants that referenced this pull request Aug 23, 2023
…uild#19654)

This updates Pants to require and check for the scie-pants launcher
binary version: we need version 0.9 or earlier, to have support for the
new distribution model. This syncs with
pantsbuild/scie-pants#246 (which will become
scie-pants 0.9.2 / 0.9.3), which sets the `SCIE_PANTS_VERSION`
environment variable when running pants.

This will be cherry-picked back as far as we support, to help users
upgrade their launcher earlier.

Fixes pantsbuild#19600
@huonw
Copy link
Contributor Author

huonw commented Aug 23, 2023

Ah, 2.16 doesn't have anything about scie in it, so I won't bother cherry picking this back to that. 2.17 only.

@huonw huonw modified the milestones: 2.16.x, 2.17.x Aug 23, 2023
thejcannon pushed a commit that referenced this pull request Aug 23, 2023
…-pick of #19654) (#19655)

This updates Pants to require and check for the scie-pants launcher
binary version: we need version 0.9 or earlier, to have support for the
new distribution model. This syncs with
pantsbuild/scie-pants#246 (which will become
scie-pants 0.9.2 / 0.9.3), which sets the `SCIE_PANTS_VERSION`
environment variable when running pants.

This will be cherry-picked back as far as we support, to help users
upgrade their launcher earlier.

Fixes #19600
huonw added a commit that referenced this pull request Aug 24, 2023
Before this fix, #19654 was causing `pants ...` commands in the pants
repo to explode and not work. This fixes it by silencing them in the
pants repo, keying off the existing `NO_SCIE_WARNING=1` mechanism.

Running scie-pants in the pants repo goes through a special bootstrap
mechanism, that's bootstrapped outside the scie-pants processing on
purpose. This in particular means that the scie-pants version check from
#19600 / #19654 doesn't work, because it's not invoked via that
mechanism. Fortunately, this can just be treated the same as the "am I
running in scie-pants at all?" check, looking for the env var set by the
pants repo bootstrapper.

The version check has to be strict about the `SCIE_PANTS_VERSION`
environment variable, and it cannot just do nothing when that's not set.
The goal with this check is to help people using upgrade to scie-pants
0.9+ _before_ Pants 2.18 is released, because Pants 2.18 has a new
distribution mechanism that's only supported by scie-pants 0.9+ (this is
why we needed to land #19654 last minute, to be in Pants 2.17).
scie-pants only sets the environment variable in version 0.9 too, so a
user using scie-pants 0.8.0 will be running Pants 2.17 without setting
`SCIE_PANTS_VERSION`, and so, to help them upgrade, we have to assume
"doesn't exist" = "scie-pants is too old". The pants repo custom
bootstrap doesn't set this env var, and hence used to fall into that
trap.
@huonw huonw modified the milestones: 2.17.x, 2.18.x Aug 29, 2023
github-actions bot pushed a commit that referenced this pull request Aug 29, 2023
This updates Pants to require and check for the scie-pants launcher
binary version: we need version 0.9 or earlier, to have support for the
new distribution model. This syncs with
pantsbuild/scie-pants#246 (which will become
scie-pants 0.9.2 / 0.9.3), which sets the `SCIE_PANTS_VERSION`
environment variable when running pants.

This will be cherry-picked back as far as we support, to help users
upgrade their launcher earlier.

Fixes #19600
@WorkerPants
Copy link
Member

I tried to automatically cherry-pick this change back to each relevant milestone, so that it is available in those older releases of Pants.

✔️ 2.18.x

Successfully opened #19694.


Thanks again for your contributions!

🤖 Beep Boop here's my run link

huonw added a commit that referenced this pull request Aug 29, 2023
…-pick of #19654) (#19694)

This updates Pants to require and check for the scie-pants launcher
binary version: we need version 0.9 or later, to have support for the
new distribution model. This syncs with
pantsbuild/scie-pants#246 (which will become
scie-pants 0.9.2 / 0.9.3), which sets the `SCIE_PANTS_VERSION`
environment variable when running pants.

This will be cherry-picked back as far as we support, to help users
upgrade their launcher earlier.

Fixes #19600

Co-authored-by: Huon Wilson <huon@exoflare.io>
github-actions bot pushed a commit that referenced this pull request Aug 29, 2023
Before this fix, #19654 was causing `pants ...` commands in the pants
repo to explode and not work. This fixes it by silencing them in the
pants repo, keying off the existing `NO_SCIE_WARNING=1` mechanism.

Running scie-pants in the pants repo goes through a special bootstrap
mechanism, that's bootstrapped outside the scie-pants processing on
purpose. This in particular means that the scie-pants version check from
#19600 / #19654 doesn't work, because it's not invoked via that
mechanism. Fortunately, this can just be treated the same as the "am I
running in scie-pants at all?" check, looking for the env var set by the
pants repo bootstrapper.

The version check has to be strict about the `SCIE_PANTS_VERSION`
environment variable, and it cannot just do nothing when that's not set.
The goal with this check is to help people using upgrade to scie-pants
0.9+ _before_ Pants 2.18 is released, because Pants 2.18 has a new
distribution mechanism that's only supported by scie-pants 0.9+ (this is
why we needed to land #19654 last minute, to be in Pants 2.17).
scie-pants only sets the environment variable in version 0.9 too, so a
user using scie-pants 0.8.0 will be running Pants 2.17 without setting
`SCIE_PANTS_VERSION`, and so, to help them upgrade, we have to assume
"doesn't exist" = "scie-pants is too old". The pants repo custom
bootstrap doesn't set this env var, and hence used to fall into that
trap.
huonw added a commit that referenced this pull request Aug 29, 2023
…-pick of #19660) (#19702)

Before this fix, #19654 was causing `pants ...` commands in the pants
repo to explode and not work. This fixes it by silencing them in the
pants repo, keying off the existing `NO_SCIE_WARNING=1` mechanism.

Running scie-pants in the pants repo goes through a special bootstrap
mechanism, that's bootstrapped outside the scie-pants processing on
purpose. This in particular means that the scie-pants version check from
#19600 / #19654 doesn't work, because it's not invoked via that
mechanism. Fortunately, this can just be treated the same as the "am I
running in scie-pants at all?" check, looking for the env var set by the
pants repo bootstrapper.

The version check has to be strict about the `SCIE_PANTS_VERSION`
environment variable, and it cannot just do nothing when that's not set.
The goal with this check is to help people using upgrade to scie-pants
0.9+ _before_ Pants 2.18 is released, because Pants 2.18 has a new
distribution mechanism that's only supported by scie-pants 0.9+ (this is
why we needed to land #19654 last minute, to be in Pants 2.17).
scie-pants only sets the environment variable in version 0.9 too, so a
user using scie-pants 0.8.0 will be running Pants 2.17 without setting
`SCIE_PANTS_VERSION`, and so, to help them upgrade, we have to assume
"doesn't exist" = "scie-pants is too old". The pants repo custom
bootstrap doesn't set this env var, and hence used to fall into that
trap.

Co-authored-by: Huon Wilson <huon@exoflare.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

detect older versions of scie-pants and emit deprecation warning if too old
3 participants