-
Notifications
You must be signed in to change notification settings - Fork 273
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
Bug: plugin / tool installation can result in corrupt binaries #4467
Labels
Comments
Good catch! |
Walther
added a commit
that referenced
this issue
Jun 1, 2023
The tests have been fixed and they pass locally. These tests fail in CI because of #4467 Temporarily skipping these tests in order to unblock other PRs for the other plugins and fixing their test setups, while keeping our CI green for the test-plugins step.
This was referenced Jun 1, 2023
@Walther Should we may be try using a lower node version for executing |
Walther
added a commit
that referenced
this issue
Jun 1, 2023
* test(terraform): run tests for multiple tf versions * improvement: remove terraform lock files from git tree * ci(circleci): re-enable plugins tests * chore(terraform): fix hash for terraform 0.13.3 darwin amd64 * chore: terraform-plugin: 0.13 config updates for test projects * chore: terraform-plugin: test updates for 0.13 config * chore: terraform-plugin: fix provider tests * chore: terraform-plugin: fix some action tests * chore: terraform-plugin: fix 'sets the workspace before destroying' test Co-authored-by: Steffen Neubauer <[email protected]> * chore: terraform-plugin: fix rest of the skipped tests Co-authored-by: Steffen Neubauer <[email protected]> * chore: conftest plugin: temporarily disable tests, fix in another pr * chore: conftest plugin: temporarily disable tests, fix in another pr * chore: jib plugin: temporarily disable tests, fix in another pr * chore: conftest test: fix import * chore: jib plugin: temporarily disable tests, fix in another pr * chore: terraform-plugin common tests: init before workspace commands * chore: terraform-plugin: lockfile for both test projects * chore: update unzipper * refactor: improve log message methods for testing purposes based on the feedback provided at #4457 (comment) * chore: return the separate getRootLogMessages and getLogMessages other unrelated tests were depending on the specific behavior. we can always come back to refactor further. * chore: disable terraform-plugin tests The tests have been fixed and they pass locally. These tests fail in CI because of #4467 Temporarily skipping these tests in order to unblock other PRs for the other plugins and fixing their test setups, while keeping our CI green for the test-plugins step. * chore: terraform-plugin: remove lockfile * chore: terraform-plugin tests: restore test-project-module --------- Co-authored-by: Walther <[email protected]>
Adding more context to this issue:
|
This will be followed in #4467. Closing this. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug
Current Behavior
Currently, tools downloaded by Garden might be unzipped wrong, resulting in a corrupt executable. This affects at least
terraform
, but might also affect e.g.helm
,mutagen
, and so on.Example output locally when running the
terraform-plugin
tests:Example of corrupt executables in our CI: https://app.circleci.com/pipelines/github/garden-io/garden/17991/workflows/f023b92f-2435-443c-94fd-1bd0b57cf084/jobs/314086
Expected behavior
Tools get downloaded and extracted correctly, resulting in executables that work.
Reproducible example
Workaround
Manually download the relevant .zip or .tar.gz, manually extract it, and move the executable to the location garden expects it within
~/.garden/tools/*
Suggested solution(s)
unzipper
libraryAdditional context
This is an adverse interaction between the
unzipper
library and Node version>= 18.16.0
which we use.See the upstream issue here: ZJONSSON/node-unzipper#271
The issue description also has a minimal repro for local testing.
Your environment
This happens both on local macOS as well as in our CI on Linux.
This affects both
0.13
as well as0.12
versions released after Jan 30th.The text was updated successfully, but these errors were encountered: