diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index c0583c0..411e693 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -12,53 +12,21 @@ jobs: python-version: ['3.11', '3.12'] steps: - # Check out repository - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Install poetry + run: pipx install poetry # Set up python versions with matrix to test on multiple versions - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - # Install Poetry - - name: Install Poetry - uses: snok/install-poetry@v1 - with: - virtualenvs-create: true - virtualenvs-in-project: true - installer-parallel: true - - # Load cached if it exists - - name: Load cached venv - id: cached-poetry-dependencies - uses: actions/cache@v2 - with: - path: .venv - key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} - # Install dependencies if cache does not exist - name: Install dependencies - if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' - run: poetry install --no-interaction - - # botocore dependency gymnastics - # ref: https://github.com/aws/aws-cli/issues/3092#issuecomment-942195831 - - name: Remove python3-botocore - run: sudo apt remove python3-botocore - - - name: Uninstall botocore - run: pip3 uninstall -y botocore - - - name: Install python3-botocore - run: sudo apt install -y python3-botocore - - - name: Install awscli - run: sudo apt install -y awscli - - - name: Upgrade boto3 and awscli - run: pip install --upgrade boto3 awscli botocore + run: poetry install # Run tests - name: Run tests diff --git a/poetry.lock b/poetry.lock index 545f6c8..ba6222e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,35 +13,41 @@ files = [ [[package]] name = "boto3" -version = "1.16.18" +version = "1.34.104" description = "The AWS SDK for Python" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "boto3-1.16.18-py2.py3-none-any.whl", hash = "sha256:d70d21ea137d786e84124639a62be42f92f4b09472ebfb761156057c92dc5366"}, - {file = "boto3-1.16.18.tar.gz", hash = "sha256:51c419d890ae216b9b031be31f3182739dc3deb5b64351f286bffca2818ddb35"}, + {file = "boto3-1.34.104-py3-none-any.whl", hash = "sha256:bec91a3bca63320e5f68a25b5eaa7bab65e35bb9253a544875c2e03679f1d5fb"}, + {file = "boto3-1.34.104.tar.gz", hash = "sha256:5b37c8f4ea6f408147994a6e230c49ca755da57f5964ccea8b8fd4ff5f11759e"}, ] [package.dependencies] -botocore = ">=1.19.18,<1.20.0" -jmespath = ">=0.7.1,<1.0.0" -s3transfer = ">=0.3.0,<0.4.0" +botocore = ">=1.34.104,<1.35.0" +jmespath = ">=0.7.1,<2.0.0" +s3transfer = ">=0.10.0,<0.11.0" + +[package.extras] +crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.19.63" +version = "1.34.104" description = "Low-level, data-driven core of boto 3." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "botocore-1.19.63-py2.py3-none-any.whl", hash = "sha256:ad4adfcc195b5401d84b0c65d3a89e507c1d54c201879c8761ff10ef5c361e21"}, - {file = "botocore-1.19.63.tar.gz", hash = "sha256:d3694f6ef918def8082513e5ef309cd6cd83b612e9984e3a66e8adc98c650a92"}, + {file = "botocore-1.34.104-py3-none-any.whl", hash = "sha256:b68ed482e9b4c313129c9948af5a91d0e84840558e6d232a1a27ab0b9733e5b9"}, + {file = "botocore-1.34.104.tar.gz", hash = "sha256:fe36dd3cea4160fbbe27dc1cf89cb7018234350555a26933b2977947052a346a"}, ] [package.dependencies] -jmespath = ">=0.7.1,<1.0.0" +jmespath = ">=0.7.1,<2.0.0" python-dateutil = ">=2.1,<3.0.0" -urllib3 = {version = ">=1.25.4,<1.27", markers = "python_version != \"3.4\""} +urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""} + +[package.extras] +crt = ["awscrt (==0.20.9)"] [[package]] name = "cachetools" @@ -376,13 +382,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jmespath" -version = "0.10.0" +version = "1.0.1" description = "JSON Matching Expressions" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.7" files = [ - {file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"}, - {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"}, + {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, + {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] [[package]] @@ -928,17 +934,20 @@ files = [ [[package]] name = "s3transfer" -version = "0.3.7" +version = "0.10.1" description = "An Amazon S3 Transfer Manager" optional = false -python-versions = "*" +python-versions = ">= 3.8" files = [ - {file = "s3transfer-0.3.7-py2.py3-none-any.whl", hash = "sha256:efa5bd92a897b6a8d5c1383828dca3d52d0790e0756d49740563a3fb6ed03246"}, - {file = "s3transfer-0.3.7.tar.gz", hash = "sha256:35627b86af8ff97e7ac27975fe0a98a312814b46c6333d8a6b889627bcd80994"}, + {file = "s3transfer-0.10.1-py3-none-any.whl", hash = "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"}, + {file = "s3transfer-0.10.1.tar.gz", hash = "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19"}, ] [package.dependencies] -botocore = ">=1.12.36,<2.0a.0" +botocore = ">=1.33.2,<2.0a.0" + +[package.extras] +crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "setuptools" @@ -1041,4 +1050,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "f532808e06eedefc3cce545d1017f689a4e7da2ef6c1479db3f51168bfdc15ab" +content-hash = "7fcccae3a9b635514f350bbc57eff14699809d7733859c1c84df047fe2d0ebdb" diff --git a/pyproject.toml b/pyproject.toml index 565dae2..ac53c9a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ python = "^3.11" kubernetes = "9.0.0" requests = ">=2.20.0" urllib3 = "1.26.18" -boto3 = "1.16.18" +boto3 = "1.34.104" [tool.poetry.group.dev.dependencies] pytest = "*"