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 GITHUB_PATH to modify paths between CI steps. #17882

Merged
merged 1 commit into from
Dec 26, 2022

Conversation

benjyw
Copy link
Contributor

@benjyw benjyw commented Dec 26, 2022

Previously we used GITHUB_ENV, and interpolated the existing $PATH.

However in the containerized manylinux wheel builds, due to improper escaping, this interpolated the host $PATH into the container's $PATH.

This did not seem to cause harm in practice on the x86_64 manylinux wheel build, presumably because the host paths happened to still be suitable in the container. However this was exposed while working on setting up the aarch64 manylinux wheel build, where the host and container paths are not at all compatible.

GITHUB_PATH is the blessed way of prepending to the container path anyway, and means we don't have to think about proper escaping of the interpolated $PATH.

Previously we used GITHUB_ENV, and interpolated the existing $PATH.

However in the containerized manylinux wheel builds this interpolated
the host $PATH into the container's $PATH. This did not seem to cause
harm in practice on the x86_64 manylinux wheel build, presumably
because the host paths happened to still be suitable in the container.
However this was exposed while working on setting up the aarch64
manylinux wheel build, where the host and container paths are
not at all compatible.
@benjyw benjyw added the category:internal CI, fixes for not-yet-released features, etc. label Dec 26, 2022
@benjyw benjyw changed the title Use GITHUB_PATH to modify paths between steps. Use GITHUB_PATH to modify paths between CI steps. Dec 26, 2022
@benjyw benjyw merged commit 28c2559 into pantsbuild:main Dec 26, 2022
@benjyw benjyw deleted the github_path branch December 26, 2022 18:25
illicitonion added a commit to illicitonion/pants that referenced this pull request Dec 31, 2022
Internal PRs:

* Prepare 2.14.1rc0 ([pantsbuild#17904](pantsbuild#17904))

* Always stop on `StopIteration` in `rule_runner.run_rule_with_mocks` ([pantsbuild#17901](pantsbuild#17901))

* upgrade to Rust v1.66.0 ([pantsbuild#17893](pantsbuild#17893))

* Remove Eric from Rust dependabot config ([pantsbuild#17891](pantsbuild#17891))

* Refactor generate_github_workflows.py to prep for aarch64 support ([pantsbuild#17880](pantsbuild#17880))

* [internal] Subsystems, Options, and a Process for the `cc` backend ([pantsbuild#17844](pantsbuild#17844))

* Prepare 2.15.0rc1. ([pantsbuild#17883](pantsbuild#17883))

* Use GITHUB_PATH to modify paths between CI steps. ([pantsbuild#17882](pantsbuild#17882))

* Disable coverage in CI ([pantsbuild#17876](pantsbuild#17876))

* Split out different entry point fields, and revert `PexBinaryFieldSet` ([pantsbuild#17870](pantsbuild#17870))

* Choose distinct debug adapter ports in different tests. ([pantsbuild#17837](pantsbuild#17837))

* fix a bunch of missing JVM `rules()` dependencies ([pantsbuild#17861](pantsbuild#17861))

* DRYs up JVM subsystem registration code ([pantsbuild#17859](pantsbuild#17859))

* go: pass coverage setup config into `prepare_go_test_binary` rule ([pantsbuild#17835](pantsbuild#17835))

* go: split production of test binary from actually running it ([pantsbuild#17825](pantsbuild#17825))

* Remove stray `--remote-auth-plugin` reference. ([pantsbuild#17832](pantsbuild#17832))
illicitonion added a commit to illicitonion/pants that referenced this pull request Dec 31, 2022
Internal PRs:

* Prepare 2.14.1rc0 ([pantsbuild#17904](pantsbuild#17904))

* Always stop on `StopIteration` in `rule_runner.run_rule_with_mocks` ([pantsbuild#17901](pantsbuild#17901))

* upgrade to Rust v1.66.0 ([pantsbuild#17893](pantsbuild#17893))

* Remove Eric from Rust dependabot config ([pantsbuild#17891](pantsbuild#17891))

* Refactor generate_github_workflows.py to prep for aarch64 support ([pantsbuild#17880](pantsbuild#17880))

* [internal] Subsystems, Options, and a Process for the `cc` backend ([pantsbuild#17844](pantsbuild#17844))

* Prepare 2.15.0rc1. ([pantsbuild#17883](pantsbuild#17883))

* Use GITHUB_PATH to modify paths between CI steps. ([pantsbuild#17882](pantsbuild#17882))

* Disable coverage in CI ([pantsbuild#17876](pantsbuild#17876))

* Split out different entry point fields, and revert `PexBinaryFieldSet` ([pantsbuild#17870](pantsbuild#17870))

* Choose distinct debug adapter ports in different tests. ([pantsbuild#17837](pantsbuild#17837))

* fix a bunch of missing JVM `rules()` dependencies ([pantsbuild#17861](pantsbuild#17861))

* DRYs up JVM subsystem registration code ([pantsbuild#17859](pantsbuild#17859))

* go: pass coverage setup config into `prepare_go_test_binary` rule ([pantsbuild#17835](pantsbuild#17835))

* go: split production of test binary from actually running it ([pantsbuild#17825](pantsbuild#17825))

* Remove stray `--remote-auth-plugin` reference. ([pantsbuild#17832](pantsbuild#17832))
illicitonion added a commit to illicitonion/pants that referenced this pull request Dec 31, 2022
Internal PRs:

* Prepare 2.14.1rc0 ([pantsbuild#17904](pantsbuild#17904))

* Always stop on `StopIteration` in `rule_runner.run_rule_with_mocks` ([pantsbuild#17901](pantsbuild#17901))

* upgrade to Rust v1.66.0 ([pantsbuild#17893](pantsbuild#17893))

* Remove Eric from Rust dependabot config ([pantsbuild#17891](pantsbuild#17891))

* Refactor generate_github_workflows.py to prep for aarch64 support ([pantsbuild#17880](pantsbuild#17880))

* [internal] Subsystems, Options, and a Process for the `cc` backend ([pantsbuild#17844](pantsbuild#17844))

* Prepare 2.15.0rc1. ([pantsbuild#17883](pantsbuild#17883))

* Use GITHUB_PATH to modify paths between CI steps. ([pantsbuild#17882](pantsbuild#17882))

* Disable coverage in CI ([pantsbuild#17876](pantsbuild#17876))

* Split out different entry point fields, and revert `PexBinaryFieldSet` ([pantsbuild#17870](pantsbuild#17870))

* Choose distinct debug adapter ports in different tests. ([pantsbuild#17837](pantsbuild#17837))

* fix a bunch of missing JVM `rules()` dependencies ([pantsbuild#17861](pantsbuild#17861))

* DRYs up JVM subsystem registration code ([pantsbuild#17859](pantsbuild#17859))

* go: pass coverage setup config into `prepare_go_test_binary` rule ([pantsbuild#17835](pantsbuild#17835))

* go: split production of test binary from actually running it ([pantsbuild#17825](pantsbuild#17825))

* Remove stray `--remote-auth-plugin` reference. ([pantsbuild#17832](pantsbuild#17832))

Also:

Revert "upgrade to Rust v1.66.0 (pantsbuild#17893)"

This reverts commit babf5db.
illicitonion added a commit to illicitonion/pants that referenced this pull request Dec 31, 2022
Internal PRs:

* Prepare 2.14.1rc0 ([pantsbuild#17904](pantsbuild#17904))

* Always stop on `StopIteration` in `rule_runner.run_rule_with_mocks` ([pantsbuild#17901](pantsbuild#17901))

* upgrade to Rust v1.66.0 ([pantsbuild#17893](pantsbuild#17893))

* Remove Eric from Rust dependabot config ([pantsbuild#17891](pantsbuild#17891))

* Refactor generate_github_workflows.py to prep for aarch64 support ([pantsbuild#17880](pantsbuild#17880))

* [internal] Subsystems, Options, and a Process for the `cc` backend ([pantsbuild#17844](pantsbuild#17844))

* Prepare 2.15.0rc1. ([pantsbuild#17883](pantsbuild#17883))

* Use GITHUB_PATH to modify paths between CI steps. ([pantsbuild#17882](pantsbuild#17882))

* Disable coverage in CI ([pantsbuild#17876](pantsbuild#17876))

* Split out different entry point fields, and revert `PexBinaryFieldSet` ([pantsbuild#17870](pantsbuild#17870))

* Choose distinct debug adapter ports in different tests. ([pantsbuild#17837](pantsbuild#17837))

* fix a bunch of missing JVM `rules()` dependencies ([pantsbuild#17861](pantsbuild#17861))

* DRYs up JVM subsystem registration code ([pantsbuild#17859](pantsbuild#17859))

* go: pass coverage setup config into `prepare_go_test_binary` rule ([pantsbuild#17835](pantsbuild#17835))

* go: split production of test binary from actually running it ([pantsbuild#17825](pantsbuild#17825))

* Remove stray `--remote-auth-plugin` reference. ([pantsbuild#17832](pantsbuild#17832))

* Log process stdout/stderr on deploy_to_s3.py failures. ([pantsbuild#17909](pantsbuild#17909))
illicitonion added a commit that referenced this pull request Jan 1, 2023
Internal PRs:

* Prepare 2.14.1rc0 ([#17904](#17904))

* Always stop on `StopIteration` in `rule_runner.run_rule_with_mocks` ([#17901](#17901))

* upgrade to Rust v1.66.0 ([#17893](#17893))

* Remove Eric from Rust dependabot config ([#17891](#17891))

* Refactor generate_github_workflows.py to prep for aarch64 support ([#17880](#17880))

* [internal] Subsystems, Options, and a Process for the `cc` backend ([#17844](#17844))

* Prepare 2.15.0rc1. ([#17883](#17883))

* Use GITHUB_PATH to modify paths between CI steps. ([#17882](#17882))

* Disable coverage in CI ([#17876](#17876))

* Split out different entry point fields, and revert `PexBinaryFieldSet` ([#17870](#17870))

* Choose distinct debug adapter ports in different tests. ([#17837](#17837))

* fix a bunch of missing JVM `rules()` dependencies ([#17861](#17861))

* DRYs up JVM subsystem registration code ([#17859](#17859))

* go: pass coverage setup config into `prepare_go_test_binary` rule ([#17835](#17835))

* go: split production of test binary from actually running it ([#17825](#17825))

* Remove stray `--remote-auth-plugin` reference. ([#17832](#17832))

* Log process stdout/stderr on deploy_to_s3.py failures. ([#17909](#17909))
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.

3 participants