diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9b60f6b..65c02f94 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,22 @@ env: CI_DEVICE_ADVISOR: ${{ secrets.AWS_CI_DEVICE_ADVISOR_ROLE }} jobs: + all-python-versions: + runs-on: ubuntu-latest + permissions: + id-token: write # This is required for requesting the JWT + steps: + - name: configure AWS credentials (containers) + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.CI_IOT_CONTAINERS }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + - name: Build ${{ env.PACKAGE_NAME }} + # There's hackery in builder.json so that when we run on manylinux + # we build and test using every version of python that we support. + run: | + aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-manylinux2014-x64 build -p ${{ env.PACKAGE_NAME }} al2: runs-on: ubuntu-latest @@ -69,7 +85,7 @@ jobs: run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} - + windows: runs-on: windows-latest diff --git a/README.md b/README.md index b654be60..4fe9517a 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ to Python by the `awscrt` package ([PyPI](https://pypi.org/project/awscrt/)) ([G ## Installation ### Minimum Requirements -* Python 3.6+ +* Python 3.7+ [Step-by-step instructions](./documents/PREREQUISITES.md) diff --git a/builder.json b/builder.json index f1a0a956..23e69139 100644 --- a/builder.json +++ b/builder.json @@ -23,6 +23,16 @@ }, "manylinux": { "post_build_steps": [ + ["echo", "------ Python 3.11 ------"], + ["/opt/python/cp311-cp311/bin/python", "-m", "pip", "install", "--upgrade", "pip", "setuptools"], + ["/opt/python/cp311-cp311/bin/python", "-m", "pip", "install", ".", "--verbose"], + ["/opt/python/cp311-cp311/bin/python", "-m", "pip", "install", "boto3", "autopep8"], + ["/opt/python/cp311-cp311/bin/python", "-m", "unittest", "discover", "--verbose"], + ["echo", "------ Python 3.10 ------"], + ["/opt/python/cp310-cp310/bin/python", "-m", "pip", "install", "--upgrade", "pip", "setuptools"], + ["/opt/python/cp310-cp310/bin/python", "-m", "pip", "install", ".", "--verbose"], + ["/opt/python/cp310-cp310/bin/python", "-m", "pip", "install", "boto3", "autopep8"], + ["/opt/python/cp310-cp310/bin/python", "-m", "unittest", "discover", "--verbose"], ["echo", "------ Python 3.9 ------"], ["/opt/python/cp39-cp39/bin/python", "-m", "pip", "install", "--upgrade", "pip", "setuptools"], ["/opt/python/cp39-cp39/bin/python", "-m", "pip", "install", ".", "--verbose"], @@ -37,12 +47,7 @@ ["/opt/python/cp37-cp37m/bin/python", "-m", "pip", "install", "--upgrade", "pip", "setuptools"], ["/opt/python/cp37-cp37m/bin/python", "-m", "pip", "install", ".", "--verbose"], ["/opt/python/cp37-cp37m/bin/python", "-m", "pip", "install", "boto3", "autopep8"], - ["/opt/python/cp37-cp37m/bin/python", "-m", "unittest", "discover", "--verbose"], - ["echo", "------ Python 3.6 ------"], - ["/opt/python/cp36-cp36m/bin/python", "-m", "pip", "install", "--upgrade", "pip", "setuptools"], - ["/opt/python/cp36-cp36m/bin/python", "-m", "pip", "install", ".", "--verbose"], - ["/opt/python/cp36-cp36m/bin/python", "-m", "pip", "install", "boto3", "autopep8"], - ["/opt/python/cp36-cp36m/bin/python", "-m", "unittest", "discover", "--verbose"] + ["/opt/python/cp37-cp37m/bin/python", "-m", "unittest", "discover", "--verbose"] ], "run_tests": false, "_comment": "manylinux has all its own build steps, turn off 'tests' which is where normal build steps are declared. using data to program sucks" diff --git a/continuous-delivery/publish_to_prod_pypi.yml b/continuous-delivery/publish_to_prod_pypi.yml index 214306dd..0e72e510 100644 --- a/continuous-delivery/publish_to_prod_pypi.yml +++ b/continuous-delivery/publish_to_prod_pypi.yml @@ -1,5 +1,5 @@ version: 0.2 -# this image assumes Ubuntu 14.04 base image +# this image assumes Ubuntu base image phases: install: commands: diff --git a/continuous-delivery/publish_to_test_pypi.yml b/continuous-delivery/publish_to_test_pypi.yml index 86cde41e..809f828a 100644 --- a/continuous-delivery/publish_to_test_pypi.yml +++ b/continuous-delivery/publish_to_test_pypi.yml @@ -1,5 +1,5 @@ version: 0.2 -# this image assumes Ubuntu 14.04 base image +# this image assumes Ubuntu base image phases: install: commands: diff --git a/documents/PREREQUISITES.md b/documents/PREREQUISITES.md index 7d82a3f2..545392a1 100644 --- a/documents/PREREQUISITES.md +++ b/documents/PREREQUISITES.md @@ -1,6 +1,6 @@ # PREREQUISITES -## Python 3.6 of higher +## Python 3.7 of higher How you install Python varies from platform to platform. Below are the instructions for Windows, MacOS, and Linux: diff --git a/setup.py b/setup.py index 1ba6d698..bc834fa8 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ def _load_version(): "Operating System :: OS Independent", ], install_requires=[ - 'awscrt==0.14.7', + 'awscrt==0.15.2', ], - python_requires='>=3.6', + python_requires='>=3.7', )