guix_mirror_bot pushed a commit to branch master
in repository guix.

commit efed60864ebb199169896c39bfa2a1de745c162c
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Thu Oct 9 10:59:48 2025 +0100

    gnu: awscli-2: Update to 2.28.0.
    
    botocore was absorbed into aws-cli code base in v2.3.0.
    cryptography was replaced by awscrt functionality in v2.25.9.
    
    See generated change logs in project's ".changes" directory for more
    details.
    
    * gnu/packages/python-web.scm (awscli-2): Update to 2.28.0.
    [arguments] <test-flags>: Rework ignored test files and skipped tests by
    limiting them just to unit tests. When running in parallel limit up to 8
    thread to prevent host system exhaustion.
    <phases>: Use default 'check; add 'pre-check.
    [inputs]: Remove python-awscrt-for-awscli, python-botocore,
    python-cryptography, python-jsonschema, and python-ruamel.yaml-0.16;
    add python-awscrt, python-distro, and python-ruamel.yaml.
    [native-inputs]: Remove python-distro, python-flit, and python-wheel; add
    python-flit-core.
    
    Fixes: guix/guix#3379
    Change-Id: I87658587e907330c3ff9c45402235119256de134
---
 gnu/packages/python-web.scm | 67 ++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 38 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 8db5645069..e5fc7a2d3a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6446,8 +6446,11 @@ Services (AWS) API.")
 (define-public awscli-2
   (package
     (inherit awscli)
+    ;; Note: updating awscli-2 typically requires updating python-awscrt.
     (name "awscli")
-    (version "2.20.0")
+    ;; Upstream practices a very rapid (1h-1d) release cycles try to select
+    ;; any fresh one compatible with current state of dependencies in Guix.
+    (version "2.28.0")
     (source
      (origin
        (method git-fetch)
@@ -6457,24 +6460,30 @@ Services (AWS) API.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0hyr9gmcfk7nzkgs0v6wgkh8k15dyhknqzfymbc9a9sa2dblc40q"))))
+         "1a1jzvdm434x46yh7ir11lw0nzc64ns4qvxhp5wfra3rh5ykf36j"))))
     (build-system pyproject-build-system)
     (arguments
      (list
+      ;; When updating and checking locally be very patient as build phase may
+      ;; hang for 6-8 minutes but eventually passes through.
+      ;;
+      ;; tests: 4189 passed, 1 skipped, 2 warnings
       #:test-flags
-      '(list ;; This version of prompt-toolkit has issues with awscli-2, see
-             ;; 
<https://github.com/aws/aws-cli/issues/9453#issuecomment-2822186530>.
-             "--ignore=functional/autoprompt/test_prompttoolkit.py"
-             ;; The resource leak tests use ps to check for memory consumption.
-             "--ignore=functional/botocore/leak/test_resource_leaks.py"
-             ;; These tests complain about unavailable TLS certs.
-             "--ignore=functional/ec2instanceconnect/test_opentunnel.py"
-             ;; These seem to require Internet access.
-             "--ignore=unit/botocore/test_awsrequest.py"
+      '(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
+             ;; Full test suite contains more than 70k tests; ignore network
+             ;; dependent, slow and compute intense tests, keep just unit
+             ;; tests.
+             "--ignore=tests/backends"
+             "--ignore=tests/dependencies"
+             "--ignore=tests/functional"
+             "--ignore=tests/integration"
+             "--ignore=tests/unit/botocore"
              ;; Flaky, something to do with PATH disappearing from os.environ?
              ;; Passes when run on its own, so maybe something else is
              ;; modifying this during the test run.
-             "--ignore=unit/customizations/emr/test_emr_utils.py")
+             "--ignore=tests/unit/customizations/emr/test_emr_utils.py"
+             ;; TypeError: 'Mock' object is not subscriptable
+             "-k" "not test_no_groff_or_mandoc_exists")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'ignore-deprecations
@@ -6489,44 +6498,26 @@ Services (AWS) API.")
                  (string-append "cmdline = ['"
                                 (search-input-file inputs "bin/groff")
                                 "'")))))
-          (replace 'check
-            (lambda* (#:key tests? test-flags #:allow-other-keys)
-              (when tests?
-                (let ((skip-args
-                       (string-append
-                        "-k" "\""
-                        ;; No idea why this fails.
-                        "not test_no_groff_or_mandoc_exists"
-                        ;; Needs $HOME
-                        " and not test_attach_history_handler"
-                        ;; Complains about TLS certs.
-                        " and not test_command_returns_shutdown_exception"
-                        "\"")))
-                  (substitute* "scripts/ci/run-tests"
-                    (("--numprocesses=auto" m)
-                     (string-join (cons* m skip-args test-flags) " "))))
-                (invoke "python" "scripts/ci/run-tests")))))))
+          (add-before 'check 'pre-check
+            (lambda _ (setenv "HOME" "/tmp"))))))
     (inputs
      (list groff
+           ;; less
            nss-certs-for-test
-           python-awscrt-for-awscli
+           python-awscrt
            python-colorama
-           python-botocore
-           python-cryptography
            python-dateutil
+           python-distro
            python-docutils
            python-jmespath
-           python-jsonschema
            python-prompt-toolkit
-           python-ruamel.yaml-0.16
+           python-ruamel.yaml
            python-ruamel.yaml.clib
            python-urllib3))
     (native-inputs
-     (list python-distro
-           python-flit
+     (list python-flit-core
            python-pytest
-           python-pytest-xdist
-           python-wheel))))
+           python-pytest-xdist))))
 
 ;; This is not an official release of awscli version 2, so it should not be
 ;; named awscli.

Reply via email to