diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 1a58792d..f4fddb65 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -30,6 +30,7 @@ jobs: - 3.9 - "3.10" - "3.11" + - "3.12" - 3.x category: - local-slow @@ -50,6 +51,7 @@ jobs: env: TOXENV: ${{ matrix.category }} run: tox -- -vv + upstream-py3: runs-on: ubuntu-latest strategy: @@ -71,6 +73,7 @@ jobs: env: TOXENV: ${{ matrix.category }} run: tox -- -vv + upstream-py311: runs-on: ubuntu-latest strategy: diff --git a/buildspec.yml b/buildspec.yml index fb50c7b4..b0005071 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -5,12 +5,27 @@ batch: build-list: - identifier: python3_7 buildspec: codebuild/python3.7.yml + env: + image: aws/codebuild/standard:5.0 - identifier: python3_8 buildspec: codebuild/python3.8.yml + env: + image: aws/codebuild/standard:5.0 - identifier: python3_9 buildspec: codebuild/python3.9.yml + env: + image: aws/codebuild/standard:5.0 - identifier: python3_10 buildspec: codebuild/python3.10.yml - + env: + image: aws/codebuild/standard:6.0 + - identifier: python3_11 + buildspec: codebuild/python3.11.yml + env: + image: aws/codebuild/standard:7.0 + - identifier: python3_12 + buildspec: codebuild/python3.12.yml + env: + image: aws/codebuild/standard:7.0 - identifier: code_coverage buildspec: codebuild/coverage/coverage.yml diff --git a/codebuild/python3.10.yml b/codebuild/python3.10.yml index a18185dc..ad76049f 100644 --- a/codebuild/python3.10.yml +++ b/codebuild/python3.10.yml @@ -11,10 +11,8 @@ env: phases: install: runtime-versions: - python: latest + python: 3.10 build: commands: - - pyenv install 3.10.0 - - pyenv local 3.10.0 - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.11.yml b/codebuild/python3.11.yml new file mode 100644 index 00000000..b21cf15a --- /dev/null +++ b/codebuild/python3.11.yml @@ -0,0 +1,18 @@ +version: 0.2 + +env: + variables: + TOXENV: "py311-integ-slow" + AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_KEY_ID: >- + arn:aws:kms:us-west-2:658956600833:key/b3537ef1-d8dc-4780-9f5a-55776cbb2f7f + AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_KEY_ID_2: >- + arn:aws:kms:eu-central-1:658956600833:key/75414c93-5285-4b57-99c9-30c1cf0a22c2 + +phases: + install: + runtime-versions: + python: 3.11 + build: + commands: + - pip install "tox < 4.0" + - tox diff --git a/codebuild/python3.12.yml b/codebuild/python3.12.yml new file mode 100644 index 00000000..46576292 --- /dev/null +++ b/codebuild/python3.12.yml @@ -0,0 +1,23 @@ +version: 0.2 + +env: + variables: + TOXENV: "py312-integ-slow" + AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_KEY_ID: >- + arn:aws:kms:us-west-2:658956600833:key/b3537ef1-d8dc-4780-9f5a-55776cbb2f7f + AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_KEY_ID_2: >- + arn:aws:kms:eu-central-1:658956600833:key/75414c93-5285-4b57-99c9-30c1cf0a22c2 + +phases: + install: + runtime-versions: + python: latest + build: + commands: + - cd /root/.pyenv/plugins/python-build/../.. && git pull && cd - + - pyenv install 3.12.0 + - pyenv local 3.12.0 + - pip install --upgrade pip + - pip install setuptools + - pip install "tox < 4.0" + - tox diff --git a/codebuild/python3.7.yml b/codebuild/python3.7.yml index 19a97151..6a51426a 100644 --- a/codebuild/python3.7.yml +++ b/codebuild/python3.7.yml @@ -11,22 +11,8 @@ env: phases: install: runtime-versions: - python: latest + python: 3.7 build: commands: - # The specific versions are manually installed - # because they are not installed - # by default in CodeBuild containers. - # `pyenv` does not have - # a nice way to just install - # the latest patch version. - # I have selected the current latest patch - # rather than try - # and manage a one-liner or script. - # Testing every minor version - # is too extreme at this time. - # The choice of versions should be reviewed. - - pyenv install 3.7.12 - - pyenv local 3.7.12 - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.8.yml b/codebuild/python3.8.yml index cc7a821d..478a3bfc 100644 --- a/codebuild/python3.8.yml +++ b/codebuild/python3.8.yml @@ -11,10 +11,8 @@ env: phases: install: runtime-versions: - python: latest + python: 3.8 build: commands: - - pyenv install 3.8.12 - - pyenv local 3.8.12 - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.9.yml b/codebuild/python3.9.yml index 8e5f609e..f572e2a9 100644 --- a/codebuild/python3.9.yml +++ b/codebuild/python3.9.yml @@ -11,10 +11,8 @@ env: phases: install: runtime-versions: - python: latest + python: 3.9 build: commands: - - pyenv install 3.9.7 - - pyenv local 3.9.7 - pip install "tox < 4.0" - tox diff --git a/dev_requirements/ci-requirements.txt b/dev_requirements/ci-requirements.txt index 9a41a70d..b673eb36 100644 --- a/dev_requirements/ci-requirements.txt +++ b/dev_requirements/ci-requirements.txt @@ -1 +1,2 @@ +setuptools tox==3.24.5 diff --git a/tox.ini b/tox.ini index 14dbc1e2..3c8733a2 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py{37,38,39,310,311}-{local,integ,ddb,examples}-fast, + py{37,38,39,310,311,312}-{local,integ,ddb,examples}-fast, nocmk, sourcebuildcheck, docs, bandit, doc8, readme, flake8{,-tests,-examples}, pylint{,-tests,-examples},