From 61324a45e3eacd44c197c9cd87e9831ec893d1ca Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 1 Mar 2023 13:20:56 -0800 Subject: [PATCH 1/7] Split up conda requirements files --- .github/scripts/requirements.txt | 13 ------ build-setup-nolog.sh | 5 +-- conda-reqs/ci-shared.yaml | 42 +++++++++++++++++++ .../conda-reqs.conda-lock.yml | 0 conda-reqs.yaml => conda-reqs/firesim.yaml | 17 ++------ 5 files changed, 47 insertions(+), 30 deletions(-) delete mode 100644 .github/scripts/requirements.txt create mode 100644 conda-reqs/ci-shared.yaml rename conda-reqs.conda-lock.yml => conda-reqs/conda-reqs.conda-lock.yml (100%) rename conda-reqs.yaml => conda-reqs/firesim.yaml (89%) diff --git a/.github/scripts/requirements.txt b/.github/scripts/requirements.txt deleted file mode 100644 index 36e4d49737..0000000000 --- a/.github/scripts/requirements.txt +++ /dev/null @@ -1,13 +0,0 @@ -fab-classic==1.19.2 -boto3==1.20.21 -pytz -pyyaml -requests -mypy_boto3_ec2==1.21.9 -mypy_boto3_s3==1.21.0 -azure-mgmt-resource>=18.0.0 -azure-identity>=1.5.0 -azure-mgmt-compute -azure-mgmt-network -azure-mgmt-resourcegraph -fsspec diff --git a/build-setup-nolog.sh b/build-setup-nolog.sh index e085a4373e..4a413d379a 100644 --- a/build-setup-nolog.sh +++ b/build-setup-nolog.sh @@ -136,11 +136,10 @@ if [ "$IS_LIBRARY" = true ]; then fi else # note: lock file must end in .conda-lock.yml - see https://github.com/conda-incubator/conda-lock/issues/154 - LOCKFILE="$RDIR/conda-reqs.conda-lock.yml" - YAMLFILE="$RDIR/conda-reqs.yaml" + LOCKFILE="$RDIR/conda-reqs/conda-reqs.conda-lock.yml" if [ "$USE_PINNED_DEPS" = false ]; then # auto-gen the lockfile - conda-lock -f "$YAMLFILE" --lockfile "$LOCKFILE" + conda-lock -f "$RDIR/conda-reqs/firesim.yaml" -f "$RDIR/conda-reqs/ci-shared.yaml" --lockfile "$LOCKFILE" fi conda-lock install -p $RDIR/.conda-env $LOCKFILE source $RDIR/.conda-env/etc/profile.d/conda.sh diff --git a/conda-reqs/ci-shared.yaml b/conda-reqs/ci-shared.yaml new file mode 100644 index 0000000000..4e22cc6c9a --- /dev/null +++ b/conda-reqs/ci-shared.yaml @@ -0,0 +1,42 @@ +channels: + - conda-forge + - ucb-bar + - nodefaults + +# non-standard key used in conda-lock: https://github.com/conda-incubator/conda-lock#platform-specification +platforms: + - linux-64 + +dependencies: + # https://conda-forge.org/feedstock-outputs/ + # filterable list of all conda-forge packages + # https://conda-forge.org/#contribute + # instructions on adding a recipe + # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications + # documentation on package_spec syntax for constraining versions + - boto3 + - boto3-stubs + - mypy-boto3-s3 + - mypy-boto3-ec2 + - botocore-stubs + + - pytz + - types-pytz + + - pyyaml + - types-pyyaml + + - requests + - types-requests + + - azure-identity + - azure-mgmt-compute # ci-only + - azure-mgmt-network # ci-only + - azure-mgmt-resource>=18 # ci-only + + - fsspec + + - pip + - pip: + - fab-classic>=1.19.2 + - azure-mgmt-resourcegraph # ci-only diff --git a/conda-reqs.conda-lock.yml b/conda-reqs/conda-reqs.conda-lock.yml similarity index 100% rename from conda-reqs.conda-lock.yml rename to conda-reqs/conda-reqs.conda-lock.yml diff --git a/conda-reqs.yaml b/conda-reqs/firesim.yaml similarity index 89% rename from conda-reqs.yaml rename to conda-reqs/firesim.yaml index 2a45e32d07..bd575f3014 100644 --- a/conda-reqs.yaml +++ b/conda-reqs/firesim.yaml @@ -101,7 +101,6 @@ dependencies: # conda environment, pip's dependency resolution can conflict with # conda and create broken environments. It's best to use the conda # packages so that the environment is consistent - - boto3==1.20.21 - colorama==0.4.3 - argcomplete==1.12.3 - python-graphviz==0.19 @@ -115,20 +114,10 @@ dependencies: - pytest-dependency==0.5.1 - pytest-mock==3.7.0 - moto==3.1.0 - - pyyaml==5.4.1 - mypy==0.931 - - types-pyyaml==6.0.4 - - boto3-stubs==1.21.6 - - botocore-stubs==1.24.7 - - mypy-boto3-s3==1.21.0 - - types-requests - - types-pytz - - fsspec==2023.1.0 - - s3fs==0.4.2 - - aiohttp==3.8.4 + - s3fs + - aiohttp - pip - pip: - - fab-classic==1.19.2 - - mypy-boto3-ec2==1.21.9 - sure==2.0.0 - - pylddwrap==1.2.1 \ No newline at end of file + - pylddwrap==1.2.1 From 664ea2d5dea796306c4841dde330ed4752ff000f Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Tue, 28 Feb 2023 14:31:21 -0800 Subject: [PATCH 2/7] Use conda-reqs in CI --- .github/actions/install-ci-python-reqs/action.yml | 10 ---------- .github/actions/repo-setup-aws/action.yml | 1 - .github/workflows/firesim-run-tests.yml | 5 +++++ 3 files changed, 5 insertions(+), 11 deletions(-) delete mode 100644 .github/actions/install-ci-python-reqs/action.yml diff --git a/.github/actions/install-ci-python-reqs/action.yml b/.github/actions/install-ci-python-reqs/action.yml deleted file mode 100644 index d391b5a5f0..0000000000 --- a/.github/actions/install-ci-python-reqs/action.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: install-ci-python-reqs -description: "Installs python deps for manager-managing CI container" - -runs: - using: "composite" - steps: - - run: | - pip3 install --upgrade pip==21.3.1 - python3 -m pip install -r .github/scripts/requirements.txt - shell: bash diff --git a/.github/actions/repo-setup-aws/action.yml b/.github/actions/repo-setup-aws/action.yml index 8cd8fad3ac..7f53445ac2 100644 --- a/.github/actions/repo-setup-aws/action.yml +++ b/.github/actions/repo-setup-aws/action.yml @@ -14,4 +14,3 @@ runs: with: key: ${{ env.FIRESIM_PEM }} known_hosts: unnecessary - - uses: ./.github/actions/install-ci-python-reqs diff --git a/.github/workflows/firesim-run-tests.yml b/.github/workflows/firesim-run-tests.yml index 337a92ab36..142a3ab0a1 100644 --- a/.github/workflows/firesim-run-tests.yml +++ b/.github/workflows/firesim-run-tests.yml @@ -100,6 +100,11 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 + - uses: conda-incubator/setup-miniconda@v2 + with: + environment-file: conda-reqs/ci-shared.yaml + activate-environment: cienv + miniforge-version: latest - name: Install Python CI requirements uses: ./.github/actions/repo-setup-aws - name: Launch AWS instance used for the FireSim manager (instance info found here) From 1b4ffd8f8c68210846e656623d76d4bca9aedda8 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Tue, 28 Feb 2023 14:36:32 -0800 Subject: [PATCH 3/7] Fix conda reqs + Update lock --- conda-reqs/ci-shared.yaml | 2 +- conda-reqs/conda-reqs.conda-lock.yml | 666 +++++++++++++-------------- 2 files changed, 329 insertions(+), 339 deletions(-) diff --git a/conda-reqs/ci-shared.yaml b/conda-reqs/ci-shared.yaml index 4e22cc6c9a..c5291f2571 100644 --- a/conda-reqs/ci-shared.yaml +++ b/conda-reqs/ci-shared.yaml @@ -17,7 +17,7 @@ dependencies: - boto3 - boto3-stubs - mypy-boto3-s3 - - mypy-boto3-ec2 + - mypy_boto3_ec2 - botocore-stubs - pytz diff --git a/conda-reqs/conda-reqs.conda-lock.yml b/conda-reqs/conda-reqs.conda-lock.yml index 030a3a9b92..647ba0d350 100644 --- a/conda-reqs/conda-reqs.conda-lock.yml +++ b/conda-reqs/conda-reqs.conda-lock.yml @@ -7,9 +7,9 @@ # Install this environment as "YOURENV" with: # conda-lock install -n YOURENV --file conda-reqs.conda-lock.yml # To update a single package to the latest version compatible with the version constraints in the source: -# conda-lock lock --lockfile conda-reqs.conda-lock.yml --update PACKAGE +# conda-lock lock --lockfile conda-reqs.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/buildbot/firesim/conda-requirements-riscv-tools.yaml -f /scratch/biancolin/firesim-check-verilator/conda-reqs.yaml -f /scratch/abejgonza/firesim-fix-ci/conda-reqs.yaml -f /home/centos/firesim/conda-reqs.yaml --lockfile conda-reqs.conda-lock.yml +# conda-lock -f /scratch/abejgonza/firesim/conda-reqs/firesim.yaml -f /scratch/abejgonza/firesim/conda-reqs/ci-shared.yaml --lockfile conda-reqs.conda-lock.yml metadata: channels: - url: conda-forge @@ -19,14 +19,12 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: e26f97ee2828c380b4d8e8399f227e04816e15faca231029c2252a3da4578129 + linux-64: f62e7794267b803fc4f9815ba8c41cfe4563663c1366230515a78a9da8a265dc platforms: - linux-64 sources: - - /scratch/buildbot/firesim/conda-requirements-riscv-tools.yaml - - /scratch/biancolin/firesim-check-verilator/conda-reqs.yaml - - /scratch/abejgonza/firesim-fix-ci/conda-reqs.yaml - - /home/centos/firesim/conda-reqs.yaml + - /scratch/abejgonza/firesim/conda-reqs/firesim.yaml + - /scratch/abejgonza/firesim/conda-reqs/ci-shared.yaml package: - category: main dependencies: {} @@ -397,6 +395,7 @@ package: libstdcxx-ng: '>=12' hash: md5: 6bfb79319763a11c7423c9d0e0ee00b7 + sha256: null manager: conda name: dromajo optional: false @@ -857,19 +856,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/patch-2.7.6-h7f98852_1002.tar.bz2 version: 2.7.6 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - libstdcxx-ng: '>=9.3.0' - hash: - md5: c05d1820a6d34ff07aaaab7a9b7eddaa - sha256: 8f35c244b1631a4f31fb1d66ab6e1d9bfac0ca9b679deced1112c7225b3ad138 - manager: conda - name: pcre - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - version: '8.45' - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1197,20 +1183,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.4-h166bdaf_0.tar.bz2 version: 2.3.4 -- category: main - dependencies: - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: f5759f0c80708fbf9c4836c0cb46d0fe - sha256: af0f505053153cd2e8ad08a8559fb3df73b22ce8f635dbcaf7818a7bf916437f - manager: conda - name: libllvm14 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libllvm14-14.0.6-he0ac6c6_0.tar.bz2 - version: 14.0.6 - category: main dependencies: libgcc-ng: '>=12' @@ -1231,16 +1203,16 @@ package: libgcc-ng: '>=12' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' - openssl: '>=3.0.7,<4.0a0' + openssl: '>=3.0.8,<4.0a0' hash: - md5: dd682f0b6d65e75b2bc868fc8e93d87e - sha256: acb80dfd0b7be38c47101df812fc903374c8408daec127edb6f11a648a67c243 + md5: 613955a50485812985c059e7b269f42e + sha256: ecd6b08c2b5abe7d1586428c4dd257dcfa00ee53700d79cdc8bca098fdfbd79a manager: conda name: libnghttp2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.51.0-hff17c54_0.conda - version: 1.51.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.52.0-h61bc06f_0.conda + version: 1.52.0 - category: main dependencies: libgcc-ng: '>=12' @@ -1683,21 +1655,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_openblas.tar.bz2 version: 3.9.0 -- category: main - dependencies: - libgcc-ng: '>=12' - libllvm14: '>=14.0.6,<14.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 0e63ac182e381cd351c397f8e44a4b71 - sha256: 4e17513579284329f89f36b1e02ec9b7df01ec67f66f02c8b07ac15354477b1b - manager: conda - name: libclang-cpp14 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp14-14.0.6-default_h2e3cab8_0.tar.bz2 - version: 14.0.6 - category: main dependencies: gettext: '>=0.21.1,<1.0a0' @@ -1874,19 +1831,20 @@ package: version: 1.20.3 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libxcb: 1.* + libgcc-ng: '>=12' + libxcb: '>=1.13,<1.14.0a0' xorg-kbproto: '' + xorg-xextproto: '>=7.3.0,<8.0a0' xorg-xproto: '' hash: - md5: 12a61e640b8894504326aadafccbb790 - sha256: ec4641131e3afcb4b34614a5fa298efb34f54c2b2960bf9a73a8d202140d47c4 + md5: ea8fbfeb976ac49cbeb594e985393514 + sha256: 3c6862a01a39cdea3870b132706ad7256824299947a3a94ae361d863d402d704 manager: conda name: xorg-libx11 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.7.2-h7f98852_0.tar.bz2 - version: 1.7.2 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.4-h0b41bf4_0.conda + version: 1.8.4 - category: main dependencies: python: '>=3.6' @@ -1911,18 +1869,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2 version: 1.4.4 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: f3f2ab3ce28979a24d1a988ba211eb9b - sha256: 1354731d0eb1b406b66b3cb3d6ab74d7cbe9c0ec1d30b9e5afa366d4539e4687 - manager: conda - name: asn1crypto - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/asn1crypto-1.5.1-pyhd8ed1ab_0.tar.bz2 - version: 1.5.1 - category: main dependencies: libgcc-ng: '>=12' @@ -1949,6 +1895,30 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda version: 22.2.0 +- category: main + dependencies: + python: '>=3.4' + hash: + md5: 36a0b7a0497cfdb87e62c809947dd81c + sha256: 72d839dd1189f69605a39e82869e98f13a6556dfd8cf1552b34de21ccc735d42 + manager: conda + name: azure-common + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-common-1.1.28-pyhd8ed1ab_0.tar.bz2 + version: 1.1.28 +- category: main + dependencies: + python: 2.7.*|>=3.5 + hash: + md5: f473c4e32d8180733ba5594d122cb637 + sha256: f8755b8f0470eef8fd816aca3f59bbb6c226198ad6517c12a4cafd41acbb75a8 + manager: conda + name: blinker + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/blinker-1.5-pyhd8ed1ab_0.tar.bz2 + version: '1.5' - category: main dependencies: python: '>=3.6' @@ -1987,32 +1957,16 @@ package: version: 2.1.1 - category: main dependencies: - libclang-cpp14: '>=14.0.6,<14.1.0a0' - libgcc-ng: '>=12' - libllvm14: '>=14.0.6,<14.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: ef9669b9847ce3c8a304e9eb08bf446d - sha256: 0c07d3ada12b27b0df8ea07faf4fa8c3b45cc791752a724ac86302af6378b4bb - manager: conda - name: clang-format-14 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-14-14.0.6-default_h2e3cab8_0.tar.bz2 - version: 14.0.6 -- category: main - dependencies: - __unix: '' - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 20e4087407c7cb04a40817114b333dbf - sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea + md5: 3613ff4128b3e565d048106196206929 + sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c manager: conda name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2 version: 8.1.3 - category: main dependencies: @@ -2487,14 +2441,14 @@ package: dependencies: python: '>=3.6' hash: - md5: 9b6ad26944f19f599800b068e0582227 - sha256: 9b13d47aab2ee2708157bf90244915652b9d2ceaee9952694cfd5caff3559fbc + md5: 1698a717f83cfecf644a877c174c84bd + sha256: 3ee8cbbe4004c56b695a5e734b7dc4d59dacbfefc193ee42c82238b1cf888e08 manager: conda name: more-itertools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-9.0.0-pyhd8ed1ab_0.tar.bz2 - version: 9.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-9.1.0-pyhd8ed1ab_0.conda + version: 9.1.0 - category: main dependencies: libgcc-ng: '>=12' @@ -2620,29 +2574,30 @@ package: version: 1.9.6 - category: main dependencies: - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 7d301a0d25f424d96175f810935f0da9 - sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 + md5: d86903c57fe229d9dd8878a6dd9d149f + sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52 manager: conda name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 version: 1.0.0 - category: main dependencies: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: bfefe349de77edb720cb4688821ff78e - sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 + md5: b602cc9304197c6bf35f7a130fa8e4b8 + sha256: f16ba7446081fa6e7f29c7af12d6a9b01ad21440d83ebedca9d7185a410f6758 manager: conda - name: poetry-core + name: portalocker optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 - version: 1.0.8 + url: https://conda.anaconda.org/conda-forge/linux-64/portalocker-2.7.0-py39hf3d152e_0.conda + version: 2.7.0 - category: main dependencies: libgcc-ng: '>=12' @@ -2657,18 +2612,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py39hb9d737c_0.tar.bz2 version: 5.9.4 -- category: main - dependencies: - python: '' - hash: - md5: 359eeb6536da0e687af562ed265ec263 - sha256: fb31e006a25eb2e18f3440eb8d17be44c8ccfae559499199f73584566d0a444a - manager: conda - name: ptyprocess - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 - version: 0.7.0 - category: main dependencies: python: '>=2.7' @@ -2732,6 +2675,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1006.tar.bz2 version: 0.9.6 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 56d08bbebf5b3719ca2b1688fcfd98a4 + sha256: 177ce344fc9668cc1e7daa637ef375f6765e60fbb52e83a5744a0513751200aa + manager: conda + name: pyjwt + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.6.0-pyhd8ed1ab_0.tar.bz2 + version: 2.6.0 - category: main dependencies: python: '>=3.3' @@ -2772,16 +2727,16 @@ package: version: 0.19.3 - category: main dependencies: - __unix: '' - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 2a7de29fb590ca14b5243c4c812c8025 - sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: d34b97a2386932b97c7cb80916a673e7 + sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306 manager: conda name: pysocks optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2 version: 1.7.1 - category: main dependencies: @@ -2834,6 +2789,7 @@ package: python_abi: 3.9.* *_cp39 hash: md5: 8a574054a336665b34ffebca58dba813 + sha256: null manager: conda name: riscv-tools optional: false @@ -2882,18 +2838,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py39hf3d152e_1.tar.bz2 version: 59.8.0 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: 65bacdee3cac51e49f45d530bbd5e90f - sha256: 5e00e61916a46c1857871adec258952a50a86542883bcbaa1f1df572bd51e786 - manager: conda - name: shellingham - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.0-pyhd8ed1ab_0.tar.bz2 - version: 1.5.0 - category: main dependencies: python: '' @@ -3068,14 +3012,14 @@ package: dependencies: python: '>=3.6' hash: - md5: 5f4386493c11ddad5b5fb7bd7a0fe4ba - sha256: 089c817ee6a6391ee60fd9ecb49eb04dbcdbf4df7f86612cf0d4a863998404ba + md5: d398b385822d9425fb21c6c8f89dbc9e + sha256: 32233b8d558c118b9d856c6b7e52499c36b9f867bbf76b5c8b7edfb7655230cf manager: conda name: types-pyyaml optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.4-pyhd8ed1ab_0.tar.bz2 - version: 6.0.4 + url: https://conda.anaconda.org/conda-forge/noarch/types-pyyaml-6.0.12.8-pyhd8ed1ab_0.conda + version: 6.0.12.8 - category: main dependencies: python: '>=3.6' @@ -3299,27 +3243,14 @@ package: python: '>=3.6' pytz: '' hash: - md5: 2ea70fde8d581ba9425a761609eed6ba - sha256: 21a8403d886136c0a80f965ae5387fa1693b19ddd69023bcd0e844f2510d7e2f + md5: 1bee6877bd5f0b124540d3fef1fcd842 + sha256: 4ebc180f60a69d7305c867fda9060577f6f93d8b336030110a9b1f7510253b8a manager: conda name: babel optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/babel-2.11.0-pyhd8ed1ab_0.tar.bz2 - version: 2.11.0 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '' - hash: - md5: be3b5cae027b3ead96829ef7717c76c3 - sha256: 4592888a3c5f1ad2e36ff89039ff1912c623695f985622cf0fcfc2d0cb315053 - manager: conda - name: botocore-stubs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.24.7-pyhd8ed1ab_0.tar.bz2 - version: 1.24.7 + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.12.1-pyhd8ed1ab_0.conda + version: 2.12.1 - category: main dependencies: fontconfig: '>=2.13.96,<3.0a0' @@ -3446,19 +3377,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.88.1-hdc1c0ab_0.conda version: 7.88.1 -- category: main - dependencies: - python: '' - six: '>=1.4.0' - hash: - md5: c69f19038efee4eb534623610d0c2053 - sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 - manager: conda - name: docker-pycreds - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 - version: 0.4.0 - category: main dependencies: cloudpickle: '' @@ -3579,16 +3497,16 @@ package: - category: main dependencies: python: '>=3.6' - zipp: '>=0.4' + six: '' hash: - md5: 24dd95143fc4f3898143c93a6d5a5d41 - sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 + md5: 4a62c93c1b5c0b920508ae3fd285eaf5 + sha256: af8f801e093da52a50ca0ea0510dfaf6898fea37e66d08d335e370235dede9fc manager: conda - name: importlib_resources + name: isodate optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 - version: 3.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/isodate-0.6.1-pyhd8ed1ab_0.tar.bz2 + version: 0.6.1 - category: main dependencies: more-itertools: '' @@ -3628,19 +3546,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.32-pyhd8ed1ab_0.tar.bz2 version: '1.32' -- category: main - dependencies: - python: '' - six: '' - hash: - md5: 7b503c6c097fa8677d6ff17d2bfb623f - sha256: b89ace740500f4a311475ae44add2675d72dc42c02971910ea844812edf93736 - manager: conda - name: junit-xml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/junit-xml-1.9-pyh9f0ad1d_0.tar.bz2 - version: '1.9' - category: main dependencies: libclang13: 15.0.7 default_h3e3d535_1 @@ -3699,19 +3604,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 version: '0.931' -- category: main - dependencies: - ptyprocess: '>=0.5' - python: '' - hash: - md5: 5909e7b978141dd80d28dbf9de627827 - sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 - manager: conda - name: pexpect - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 - version: 4.8.0 - category: main dependencies: freetype: '>=2.12.1,<3.0a0' @@ -4000,19 +3892,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_1.conda version: 15.0.7 -- category: main - dependencies: - clikit: '>=0.6.0,<0.7.0' - python: '>=3.6' - hash: - md5: 4c82b11a3d06031bd58e7d869f53d965 - sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c - manager: conda - name: cleo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 - version: 0.8.1 - category: main dependencies: cffi: '>=1.12' @@ -4134,6 +4013,7 @@ package: libzlib: '>=1.2.12,<1.3.0a0' hash: md5: 5b3ed39ee3809d63d347b649de0a45f8 + sha256: null manager: conda name: libdwarf optional: false @@ -4185,19 +4065,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/pandas-1.1.5-py39hde0f152_0.tar.bz2 version: 1.1.5 -- category: main - dependencies: - pip: '' - python: '>=3.6' - hash: - md5: 5bde4ebca51438054099b9527c904ecb - sha256: bb6b283c27a8293cfd6d439959da45e848e401130fe3b44e31cde8243fdebdee - manager: conda - name: pbr - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pbr-5.11.1-pyhd8ed1ab_0.conda - version: 5.11.1 - category: main dependencies: python: '>=3.7' @@ -4269,6 +4136,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 version: 3.7.0 +- category: main + dependencies: + pip: '' + python: '>=3.7,<4.0' + hash: + md5: 9a2171b5b3ee9dcfa2ca2be184c48ea5 + sha256: 4b9d25905c5e49fa35f9ad7b56312e521255734a2007b4c80aad72c079339a87 + manager: conda + name: types-awscrt + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.16.10-pyhd8ed1ab_0.conda + version: 0.16.10 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4336,6 +4216,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-1.12.3-pyhd8ed1ab_2.tar.bz2 version: 1.12.3 +- category: main + dependencies: + python: '>=3.6' + types-awscrt: '' + typing_extensions: '' + hash: + md5: 9ddadff44f7bdb228c29d5f2f666b03e + sha256: 2b6d0a464418b8c36df8a1536a3d33c1a2e35eb8836578fadcad04c2af9daf10 + manager: conda + name: botocore-stubs + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.79-pyhd8ed1ab_0.conda + version: 1.29.79 - category: main dependencies: clang-format: 15.0.7 default_had23c3d_1 @@ -4381,19 +4275,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 version: 3.0.10 -- category: main - dependencies: - importlib_metadata: '' - python: 2.7.*|>=3.5 - hash: - md5: 35f19fabdfd44c8b53889be95333848c - sha256: d497c6f3b064d3dd8b76f277ea8d6a507acfe8cb04e31811baf66d8c533b8c08 - manager: conda - name: jsonpickle - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 - version: 2.2.0 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4402,12 +4283,28 @@ package: libzlib: '>=1.2.12,<1.3.0a0' hash: md5: 899c511688e6c41cb51c2921a8d25e63 + sha256: null manager: conda name: libdwarf-dev optional: false platform: linux-64 url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-dev-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 version: 0.0.0.20190110_28_ga81397fc4 +- category: main + dependencies: + blinker: '' + cryptography: '' + pyjwt: '>=1.0.0' + python: '>=3.6' + hash: + md5: 8f882b197fd9c4941a787926baea4868 + sha256: 0cfd5146a91d3974f4abfc2a45de890371d510a77238fe553e036ec8c031dc5b + manager: conda + name: oauthlib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/oauthlib-3.2.2-pyhd8ed1ab_0.tar.bz2 + version: 3.2.2 - category: main dependencies: alsa-lib: '>=1.2.8,<1.2.9.0a0' @@ -4501,20 +4398,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/python-jose-3.3.0-pyh6c4a22f_1.tar.bz2 version: 3.3.0 -- category: main - dependencies: - attrs: '' - pbr: '' - python: '>=3.6' - hash: - md5: 010e6280a9dc265d0488b598c45103d9 - sha256: 02e18825ab15654d6555aa2d78c396e726e200e398691bd0bce3b810205e28df - manager: conda - name: sarif-om - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sarif-om-1.0.4-pyhd8ed1ab_0.tar.bz2 - version: 1.0.4 - category: main dependencies: cryptography: '' @@ -4553,14 +4436,14 @@ package: platformdirs: <4,>=2.4 python: '>=3.7' hash: - md5: afaa9bf6992f67a82d75fad47a93ec84 - sha256: 1b69ac8afbb4ab6fe38ad4ceda4922d80d8951716683f891d501bc985fdac7ff + md5: a4c92707c28aafc95208c747db80fd3f + sha256: 0c074440b5aca612c5ee24d516845583fbad82bf3f349322d9c9fdf139cd0edd manager: conda name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.19.0-pyhd8ed1ab_0.conda - version: 20.19.0 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.20.0-pyhd8ed1ab_0.conda + version: 20.20.0 - category: main dependencies: conda-package-streaming: '>=0.7.0' @@ -4592,21 +4475,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2 version: 2.24.33 -- category: main - dependencies: - attrs: '' - jsonpickle: '' - pbr: '' - python: '>=3.6' - hash: - md5: 686ca7c72f9583791fe424600987411f - sha256: 244f9103888438b57ab9f4aac7a8aba8db19947267fd2ddbdaa2222c39f6c8a9 - manager: conda - name: jschema-to-python - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jschema-to-python-1.2.3-pyhd8ed1ab_0.tar.bz2 - version: 1.2.3 - category: main dependencies: importlib_metadata: '>=4.11.4' @@ -4747,6 +4615,21 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/aws-xray-sdk-2.11.0-pyhd8ed1ab_0.tar.bz2 version: 2.11.0 +- category: main + dependencies: + python: '>=3.6' + requests: '>=2.18.4' + six: '>=1.11.0' + typing-extensions: '>=4.0.1' + hash: + md5: e49892b87d27fce696b7118a27558fae + sha256: bb995e74396dc34da1a1f9931f40949979913c7b2802c51c799a604edbb45516 + manager: conda + name: azure-core + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.26.3-pyhd8ed1ab_0.conda + version: 1.26.3 - category: main dependencies: msgpack-python: '>=0.5.2' @@ -4817,6 +4700,21 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2 version: 1.4.3 +- category: main + dependencies: + cryptography: '>=0.6,<41' + pyjwt: '>=1.0.0,<3' + python: '>=3.6' + requests: '>=2.0.0,<3' + hash: + md5: 9304c2492b162934f748d061be0042e8 + sha256: a516cdfa79d90f678507c986da24d5d9979083d90337eeaa17fdd7f3d2e1a976 + manager: conda + name: msal + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/msal-1.21.0-pyhd8ed1ab_0.conda + version: 1.21.0 - category: main dependencies: graphviz: '>=2.46.1' @@ -4832,17 +4730,18 @@ package: version: '0.19' - category: main dependencies: - python: '' - requests: '>=2.0.1,<=3.0.0' + oauthlib: '>=3.0.0' + python: '>=3.4' + requests: '>=2.0.0' hash: - md5: 402668adee8fcba9a9c265cdc2a88f5a - sha256: 1f2f3329127844be226bdc9bd9922d84a8767ae208d4a650c3ba655c84cb1e1c + md5: 61b279f051eef9c89d58f4d813e75e04 + sha256: 889e3c1b84467b64046776db95dc4c5ea4dad5afaa5ec18ad811bd95c63286b0 manager: conda - name: requests-toolbelt + name: requests-oauthlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-0.9.1-py_0.tar.bz2 - version: 0.9.1 + url: https://conda.anaconda.org/conda-forge/noarch/requests-oauthlib-1.3.1-pyhd8ed1ab_0.tar.bz2 + version: 1.3.1 - category: main dependencies: python: '>=3.7' @@ -4918,6 +4817,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.22.21-py39hf3d152e_0.tar.bz2 version: 1.22.21 +- category: main + dependencies: + azure-core: '>=1.24.0,<2.0.0' + python: '>=3.5' + hash: + md5: 52d1dce8dc98b630225fe76a892a5724 + sha256: 848d51dca1a0edc7411da3f562de78eb918dff1b79f8387de3018bb834eaee63 + manager: conda + name: azure-mgmt-core + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-mgmt-core-1.3.2-pyhd8ed1ab_0.tar.bz2 + version: 1.3.2 - category: main dependencies: botocore: '>=1.23.21,<1.24.0' @@ -4981,35 +4893,35 @@ package: version: 3.4.3 - category: main dependencies: - cachecontrol: '>=0.12.9,<0.13.0' - cachy: '>=0.3.0,<0.4.0' - cleo: '>=0.8.1,<0.9.0' - clikit: '>=0.6.2,<0.7.0' - crashtest: '>=0.3.0,<0.4.0' - html5lib: '>=1.0,<2.0' - keyring: '>=21.2.0' - lockfile: '>=0.9' - packaging: '>=20.4,<21.0' - pexpect: '>=4.7.0,<5.0.0' - pkginfo: '>=1.4,<2.0' - poetry-core: '>=1.0.7,<1.1.0' - ptyprocess: '>=0.5' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - requests: '>=2.18,<3.0' - requests-toolbelt: '>=0.9.1,<0.10.0' - shellingham: '>=1.1,<2.0' - tomlkit: '>=0.7.0,<1.0.0' - virtualenv: '>=20.0.26,<21.0.0' + msal: '>=0.4.1,<2.0' + portalocker: '>=1.6,<3.0' + python: '>=3.6' hash: - md5: 0685495d547bc110b90852ad186dc8a1 - sha256: b2ae9a17f7f35b0bf422a15c3ac54766170dfbb78af5ecc77aa70d057cc13b48 + md5: db0e3cc6e5e99baf237a2ab73898f553 + sha256: 73096cb7f0939595651fb1555a201b3a31adb3dfeb833e70af2d4313015dd51f manager: conda - name: poetry + name: msal_extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-1.1.15-py39hf3d152e_0.tar.bz2 - version: 1.1.15 + url: https://conda.anaconda.org/conda-forge/noarch/msal_extensions-1.0.0-pyhd8ed1ab_0.tar.bz2 + version: 1.0.0 +- category: main + dependencies: + azure-core: '>=1.24.0' + certifi: '>=2017.4.17' + isodate: '>=0.6.0' + python: '>=3.6' + requests: '>=2.16,<3.dev0' + requests-oauthlib: '>=0.5.0' + hash: + md5: a1733821b05a030e805e9a47e48df636 + sha256: 0541d8d56be3125551eebafe05e9a851847a1140ed7e8d7f8db393a1e28b0980 + manager: conda + name: msrest + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/msrest-0.7.1-pyhd8ed1ab_0.tar.bz2 + version: 0.7.1 - category: main dependencies: python: '>=2.7' @@ -5032,28 +4944,90 @@ package: python: '>=3.7' typing_extensions: ~=4.4.0 hash: - md5: 8012988888c1b6416ed03ac04979bbc3 - sha256: b2c364bedc4e5d6b17e50aee57c9bf1c151e96b04f3deb6d194e6911fa6f2117 + md5: 1136b4bb3893069daeb272a3d6aecd7b + sha256: 9d9316f995fa2aedd97a8495b1a8b87265d3d8fc0771c8a0e51da7c3c1a0571c manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.59.0-pyhd8ed1ab_0.conda - version: 1.59.0 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.60.1-pyhd8ed1ab_0.conda + version: 1.60.1 +- category: main + dependencies: + azure-core: '>=1.11.0,<2.0.0' + cryptography: '>=2.5' + msal: '>=1.12.0,<2.0.0' + msal_extensions: '>=0.3.0,<2.0.0' + python: '>=3.7' + six: '>=1.12' + hash: + md5: 221a093ddca5e5abf2090a68dd964266 + sha256: af18f4cc9305c849e5ebbaa5cab69bc546c1d8a67accaf2e7bdeb39ab6f75f6f + manager: conda + name: azure-identity + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-identity-1.12.0-pyhd8ed1ab_0.tar.bz2 + version: 1.12.0 +- category: main + dependencies: + azure-common: '>=1.1,<1.2.0' + azure-mgmt-core: '>=1.3.1,<2.0.0' + msrest: '>=0.6.21' + python: '>=3.6' + hash: + md5: ec04b85594cda2cad7d559eec461fc5a + sha256: 4f51cd7018df0d18b568cc68ed57e496596fdb5c3c6e7c04e012b16d1774b7b0 + manager: conda + name: azure-mgmt-compute + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-mgmt-compute-29.1.0-pyh1a96a4e_0.conda + version: 29.1.0 +- category: main + dependencies: + azure-common: '>=1.1,<1.2' + azure-mgmt-core: '>=1.3.2,<2.0.0' + msrest: '>=0.7.1' + python: '>=3' + hash: + md5: 1f94dccab1538a5cc394dc48226863f9 + sha256: bbc7f8f7ba4d1e0ac6facd1ea6b6b9924e7234c0ae620c51ef690124416f0c2c + manager: conda + name: azure-mgmt-network + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-mgmt-network-17.0.0-pyhd8ed1ab_0.conda + version: 17.0.0 +- category: main + dependencies: + azure-common: '>=1.1,<2.dev0' + azure-mgmt-core: '>=1.3.2,<2.0.0' + msrest: '>=0.7.1' + python: '>=3.7' + hash: + md5: 42ee6db36a0b9deab759686f109be2a2 + sha256: 01566c59a470bcfc7f4f37cfcf168be3aa4342a7f4b8c666dd95660f76191da5 + manager: conda + name: azure-mgmt-resource + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/azure-mgmt-resource-22.0.0-pyhd8ed1ab_0.conda + version: 22.0.0 - category: main dependencies: boto3: '' python: '' typing_extensions: '' hash: - md5: bbe05c4cec5e4a1551d20a58d10b8ad9 - sha256: ef3d78ea133eefa4b41f4cbf5f6a24c4c036a6d4fb02e292abeb4076e9efeaa1 + md5: 56539c54bf2de1310cff069513b39f02 + sha256: 82161eee1da26cda37649a52b55d4ff9b125113f59f047e88971a9f625a91e02 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.21.6-pyhd8ed1ab_0.tar.bz2 - version: 1.21.6 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.82-pyhd8ed1ab_0.conda + version: 1.26.82 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' @@ -5094,14 +5068,28 @@ package: python: '>=3.6' typing-extensions: '' hash: - md5: e071737257e2b6f43fb37a5338aba185 - sha256: c7be01a3087498a0d8bb43a0b2bfbab65b31d3d43c1146814cb7f244417e71ba + md5: 0c79de238c80f668f5a4e85a2ca1dced + sha256: 348b0bdb9d9fcfdfc24c43ea93a29e2c5aba7f8d0e5570517e965c758c380419 manager: conda name: mypy-boto3-s3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.21.0-pyhd8ed1ab_0.tar.bz2 - version: 1.21.0 + url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.26.62-pyhd8ed1ab_0.conda + version: 1.26.62 +- category: main + dependencies: + boto3: '' + python: '>=3.6' + typing-extensions: '' + hash: + md5: d1bc5d42af5935a46a2e52ee220452f8 + sha256: 6faebcab7c63aee7bb8789c3fb5d6d2089681bd0add21dbbb229102baaaf20a2 + manager: conda + name: mypy_boto3_ec2 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.26.81-pyhd8ed1ab_0.conda + version: 1.26.81 - category: main dependencies: boto3: '' @@ -5185,45 +5173,43 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/moto-3.1.0-pyhd8ed1ab_0.tar.bz2 version: 3.1.0 -- dependencies: {} - hash: - sha256: bfb67f6a6c72dfb0a02f3df51550aa1862708e55128b22543e2b42c74f3620d7 - manager: pip - name: bcrypt - platform: linux-64 - url: https://files.pythonhosted.org/packages/c5/77/14bbcd08ad265577ad6ea8e8980b9c0ad668cecfd241ae169b6747c4491b/bcrypt-4.0.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - version: 4.0.0 - category: main dependencies: {} hash: - sha256: 122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62 + sha256: c41cfb1e99ba5d341fbcc5308836e7d7c9786d302f995b2c271ce2144dece9eb manager: pip name: mock optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/5c/03/b7e605db4a57c0f6fba744b11ef3ddf4ddebcada35022927a2b5fc623fdf/mock-4.0.3-py3-none-any.whl - version: 4.0.3 + source: null + url: https://files.pythonhosted.org/packages/e6/88/8a05e7ad0bb823246b2add3d2e97f990c41c71a40762c8db77a4bd78eedf/mock-5.0.1-py3-none-any.whl + version: 5.0.1 - category: main - dependencies: {} + dependencies: + six: '*' hash: - sha256: 9967365f2037ac8fd43ff678ad1b72c82b184b2498440579d5cfae9d63e5b0f9 + sha256: 6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c manager: pip - name: mypy-boto3-ec2 + name: asttokens optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/a4/60/815ee785b017d49e09f42175e791a3a3495293b0dbce7d18c74f43a1e8a4/mypy_boto3_ec2-1.21.9-py3-none-any.whl - version: 1.21.9 + source: null + url: https://files.pythonhosted.org/packages/f3/e1/64679d9d0759db5b182222c81ff322c2fe2c31e156a59afd6e9208c960e5/asttokens-2.2.1-py2.py3-none-any.whl + version: 2.2.1 - category: main dependencies: - six: '*' + azure-common: '>=1.1,<2.0' + azure-mgmt-core: '>=1.2.0,<2.0.0' + msrest: '>=0.6.21' hash: - sha256: e3305297c744ae53ffa032c45dc347286165e4ffce6875dc662b205db0623d86 + sha256: 0cf55f7ea82dc03e69d0fae0f1606e09b08b80b6ae23bd597d8b62b1ed938ace manager: pip - name: asttokens + name: azure-mgmt-resourcegraph optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl - version: 2.0.8 + source: null + url: https://files.pythonhosted.org/packages/bd/16/63c37bffdce5082c9997ad7783921b02ed534b5971e5bdbd1ae617a5b2e3/azure_mgmt_resourcegraph-8.0.0-py2.py3-none-any.whl + version: 8.0.0 - category: main dependencies: bcrypt: '>=3' @@ -5234,6 +5220,7 @@ package: name: paramiko-ng optional: false platform: linux-64 + source: null url: https://files.pythonhosted.org/packages/9f/53/1ac75eab589149b1e02e38185ecebf09e1b805fc3fdeadbc16d1a2b7d208/paramiko_ng-2.8.10-py2.py3-none-any.whl version: 2.8.10 - category: main @@ -5246,6 +5233,7 @@ package: name: sure optional: false platform: linux-64 + source: null url: https://files.pythonhosted.org/packages/c7/ee/043531858afab5f312ca02867de51189c0c1dd76ba652f1d95ffa13d07f7/sure-2.0.0.tar.gz version: 2.0.0 - category: main @@ -5271,6 +5259,7 @@ package: name: icontract optional: false platform: linux-64 + source: null url: https://files.pythonhosted.org/packages/d8/91/9756e7cf0b155e80bf9a62beffdd1dec4afce43cc6ab7f432f2267c62762/icontract-2.6.2-py3-none-any.whl version: 2.6.2 - category: main @@ -5283,6 +5272,7 @@ package: name: pylddwrap optional: false platform: linux-64 + source: null url: https://files.pythonhosted.org/packages/6b/4e/aebc1cff19a572dbcc7e60d8e74f38fd568ef9185650b39f72fde9ff84d1/pylddwrap-1.2.1.tar.gz version: 1.2.1 version: 1 From d856442915cb8b139b2022cb1d4c6764efe07f84 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Tue, 28 Feb 2023 14:55:54 -0800 Subject: [PATCH 4/7] Remove non-standard section in ci req yaml --- conda-reqs/ci-shared.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/conda-reqs/ci-shared.yaml b/conda-reqs/ci-shared.yaml index c5291f2571..e0cf2b36a7 100644 --- a/conda-reqs/ci-shared.yaml +++ b/conda-reqs/ci-shared.yaml @@ -3,9 +3,7 @@ channels: - ucb-bar - nodefaults -# non-standard key used in conda-lock: https://github.com/conda-incubator/conda-lock#platform-specification -platforms: - - linux-64 +# remove non-standard conda-lock 'platforms' key to use this file with conda-incubator/setup-miniconda GH action dependencies: # https://conda-forge.org/feedstock-outputs/ From f6867a90f615bbe148ba2fee688b0e55ae4accee Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Tue, 28 Feb 2023 15:11:13 -0800 Subject: [PATCH 5/7] Set default CI shell for conda --- .github/actions/change-workflow-instance-states/action.yml | 2 +- .github/workflows/firesim-run-tests.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/actions/change-workflow-instance-states/action.yml b/.github/actions/change-workflow-instance-states/action.yml index 756eef9394..9d85c48566 100644 --- a/.github/actions/change-workflow-instance-states/action.yml +++ b/.github/actions/change-workflow-instance-states/action.yml @@ -21,4 +21,4 @@ runs: aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_DEFAULT_REGION }} - run: .github/scripts/change-workflow-instance-states.py ${{ inputs.platform }} ${{ github.run_id }} ${{ inputs.new-state }} ${{ inputs.github-token }} - shell: bash + shell: bash -el {0} diff --git a/.github/workflows/firesim-run-tests.yml b/.github/workflows/firesim-run-tests.yml index 142a3ab0a1..4bf86ca850 100644 --- a/.github/workflows/firesim-run-tests.yml +++ b/.github/workflows/firesim-run-tests.yml @@ -98,12 +98,14 @@ jobs: needs: change-filters if: needs.change-filters.outputs.needs-manager == 'true' runs-on: ubuntu-20.04 + defaults: + run: + shell: bash -el {0} steps: - uses: actions/checkout@v3 - uses: conda-incubator/setup-miniconda@v2 with: environment-file: conda-reqs/ci-shared.yaml - activate-environment: cienv miniforge-version: latest - name: Install Python CI requirements uses: ./.github/actions/repo-setup-aws From 6b72e41d343e89ec7deee677cf351be2b83dcd70 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 2 Mar 2023 13:27:05 -0800 Subject: [PATCH 6/7] Update CI check + docs --- .github/workflows/firesim-run-tests.yml | 7 ++++--- docs/Developer-Docs/Managing-Conda-Lock-File.rst | 16 ++++++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/firesim-run-tests.yml b/.github/workflows/firesim-run-tests.yml index 4bf86ca850..9f0b8fd3f8 100644 --- a/.github/workflows/firesim-run-tests.yml +++ b/.github/workflows/firesim-run-tests.yml @@ -72,11 +72,12 @@ jobs: # If conda requirements was modified ensure the lock file is re-generated conda-reqs: - - 'conda-reqs.yaml' + - 'conda-reqs/firesim.yaml' + - 'conda-reqs/ci-shared.yaml' # If conda requirements was modified ensure the lock file is re-generated conda-lock: - - 'conda-reqs.conda-lock.yml' + - 'conda-reqs/conda-reqs.conda-lock.yml' # Note: This doesn't check if the lock file is synced/faithful to the requirements file. # This just ensures that both were modified in the same PR (ideally the lock file was regenerated @@ -90,7 +91,7 @@ jobs: steps: - name: Check conda lock file was regenerated with conda requirements file run: | - echo "ERROR: Either the conda-reqs.yaml or conda-reqs.conda-lock.yml was not updated properly. See the developer docs for more information" + echo "ERROR: Either the conda-reqs/{firesim,ci-shared}.yaml or conda-reqs/conda-reqs.conda-lock.yml was not updated properly. See the developer docs for more information" false setup-self-hosted-manager: diff --git a/docs/Developer-Docs/Managing-Conda-Lock-File.rst b/docs/Developer-Docs/Managing-Conda-Lock-File.rst index a90271d02d..8538838d11 100644 --- a/docs/Developer-Docs/Managing-Conda-Lock-File.rst +++ b/docs/Developer-Docs/Managing-Conda-Lock-File.rst @@ -1,23 +1,23 @@ Managing the Conda Lock File ------------------------------ -The default conda environment set by ``build-setup.sh`` uses the `lock file ("*.conda-lock.yml") `_ at the top of the repository. -This file is derived from the normal conda requirements file (``*.yaml``) also located at the top-level of the repository. +The default conda environment set by ``build-setup.sh`` uses the `lock file ("*.conda-lock.yml") `_ in ``conda-reqs/*``. +This file is derived from the conda requirements files (``*.yaml``) also located at ``conda-reqs/*``. Updating Conda Requirements =========================== -If developers want to update the requirements file, they should also update the lock file accordingly. +If developers want to update the requirements files, they should also update the lock file accordingly. There are two different methods: #. Running ``build-setup.sh --unpinned-deps``. This will update the lock file in place so that it can be committed and will re-setup the FireSim repository. -#. Manually running ``conda-lock -f -p linux-64 --lockfile `` +#. Manually running ``conda-lock -f -f --lockfile `` Caveats of the Conda Lock File and CI ===================================== -Unfortunately, so far as we know, there is no way to derive the conda requirements file from the conda lock file. -Thus, there is no way to verify that a lock file satisfies a set of requirements given by a requirements file. -It is recommended that anytime you update the requirements file, you update the lock file in the same PR. +Unfortunately, so far as we know, there is no way to derive the conda requirements files from the conda lock file. +Thus, there is no way to verify that a lock file satisfies a set of requirements given by a requirements file(s). +It is recommended that anytime you update a requirements file, you update the lock file in the same PR. This check is what the ``check-conda-lock-modified`` CI job does. -It doesn't check that the lock file and requirements file have the same packages and versions, it only checks that both files are modified in the PR. +It doesn't check that the lock file and requirements files have the same packages and versions, it only checks that all files are modified in the PR. From ddc26bf393a184d44472c73380e082f002a894d2 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 2 Mar 2023 13:30:00 -0800 Subject: [PATCH 7/7] Update cleanup CI --- .github/workflows/firesim-cleanup.yml | 14 ++++++++++++++ .github/workflows/firesim-run-tests.yml | 3 +-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/firesim-cleanup.yml b/.github/workflows/firesim-cleanup.yml index 471eb54132..2c5846a4a5 100644 --- a/.github/workflows/firesim-cleanup.yml +++ b/.github/workflows/firesim-cleanup.yml @@ -28,8 +28,15 @@ jobs: runs-on: ubuntu-latest env: TERM: xterm-256-color + defaults: + run: + shell: bash -el {0} steps: - uses: actions/checkout@v3 + - uses: conda-incubator/setup-miniconda@v2 + with: + environment-file: conda-reqs/ci-shared.yaml + miniforge-version: latest - uses: ./.github/actions/repo-setup-aws - run: .github/scripts/cull-old-ci-instances.py - if: ${{ failure() }} @@ -46,7 +53,14 @@ jobs: runs-on: ubuntu-latest env: TERM: xterm-256-color + defaults: + run: + shell: bash -el {0} steps: - uses: actions/checkout@v3 + - uses: conda-incubator/setup-miniconda@v2 + with: + environment-file: conda-reqs/ci-shared.yaml + miniforge-version: latest - uses: ./.github/actions/repo-setup-aws - run: .github/scripts/cull-old-ci-runners.py diff --git a/.github/workflows/firesim-run-tests.yml b/.github/workflows/firesim-run-tests.yml index 9f0b8fd3f8..6198576a57 100644 --- a/.github/workflows/firesim-run-tests.yml +++ b/.github/workflows/firesim-run-tests.yml @@ -108,8 +108,7 @@ jobs: with: environment-file: conda-reqs/ci-shared.yaml miniforge-version: latest - - name: Install Python CI requirements - uses: ./.github/actions/repo-setup-aws + - uses: ./.github/actions/repo-setup-aws - name: Launch AWS instance used for the FireSim manager (instance info found here) run: ./.github/scripts/launch-manager-instance.py - name: Setup N Github Actions Runners on AWS instance