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

google-cloud-sdk: 281.0.0 -> 286.0.0 #83509

Merged
merged 1 commit into from Mar 27, 2020

Conversation

flokli
Copy link
Contributor

@flokli flokli commented Mar 27, 2020

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@zimbatm
Copy link
Member

zimbatm commented Mar 27, 2020

Every upgrade makes me quite uncomfortable because the python code is shelling out to other programs and I don't have a high confidence that it will keep working as before. Does anyone have an idea on how the situation could be improved?

@edef1c
Copy link
Member

edef1c commented Mar 27, 2020

Can we map out the places where those outwards calls happen? Do we have any examples?

@flokli
Copy link
Contributor Author

flokli commented Mar 27, 2020

It's in many different places, but I don't really see a way for us to keep track of all these on every bump:

$ ag subprocess.Popen -l | grep -v tests
lib/third_party/pyu2f/convenience/customauthenticator.py
lib/third_party/pygments/lexers/_scilab_builtins.py
lib/third_party/pygments/formatters/img.py
lib/third_party/kubernetes/config/exec_provider.py
lib/third_party/kubernetes/config/exec_provider_test.py
lib/third_party/gae_ext_runtime/ext_runtime.py
lib/third_party/dulwich/patch.py
lib/third_party/dulwich/client.py
lib/third_party/ml_sdk/cloud/ml/util/_file.py
lib/third_party/containerregistry/client/v1/docker_image_.py
lib/third_party/containerregistry/client/docker_creds_.py
lib/surface/code/dev.py
lib/surface/auth/git_helper.py
lib/googlecloudsdk/core/updater/update_manager.py
lib/googlecloudsdk/core/metrics.py
lib/googlecloudsdk/core/execution_utils.py
lib/googlecloudsdk/core/docker/client_lib.py
lib/googlecloudsdk/core/console/console_io.py
lib/googlecloudsdk/command_lib/util/ssh/ssh.py
lib/googlecloudsdk/command_lib/ml_engine/local_utils.py
lib/googlecloudsdk/command_lib/ml_engine/local_train.py
lib/googlecloudsdk/command_lib/interactive/browser.py
lib/googlecloudsdk/command_lib/interactive/coshell.py
lib/googlecloudsdk/command_lib/info_holder.py
lib/googlecloudsdk/command_lib/emulators/util.py
lib/googlecloudsdk/command_lib/emulators/proxy_util.py
lib/googlecloudsdk/command_lib/compute/diagnose/external_helper.py
lib/googlecloudsdk/command_lib/code/kubernetes.py
lib/googlecloudsdk/api_lib/sql/instances.py
lib/googlecloudsdk/api_lib/compute/openssl_encryption_utils.py
lib/googlecloudsdk/api_lib/app/runtimes/ruby.py
platform/bq/third_party/pyu2f/convenience/customauthenticator.py
platform/bq/third_party/google/apputils/basetest.py
platform/gsutil/third_party/pyu2f/pyu2f/convenience/customauthenticator.py
platform/gsutil/gslib/vendored/boto/boto/manage/cmdshell.py
platform/gsutil/gslib/vendored/boto/boto/manage/task.py
platform/gsutil/gslib/vendored/boto/boto/utils.py
platform/gsutil/gslib/metrics.py
platform/gsutil/gslib/utils/copy_helper.py
platform/gsutil/gslib/commands/perfdiag.py
platform/gsutil/gslib/commands/test.py

If there was a central place about what binaries google-cloud-sdk shells out, it'd be a different story, but for now I'd say we do some minimal testing, then merge bumps and fix eventual breakages once they're reported.

We can't test everything, and fixing up things once they are reported is probably better than staying with an old version, just because we feel comfortable with it.

@flokli flokli merged commit d6c1901 into NixOS:master Mar 27, 2020
@flokli flokli deleted the google-cloud-sdk-286.0.0 branch March 27, 2020 18:04
@zimbatm
Copy link
Member

zimbatm commented Mar 27, 2020

If the package was compiled from source then we could run the tests and hopefully detect more failures upfront?

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.

None yet

3 participants