Continuous Integration tests #4971
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration tests | |
on: | |
pull_request: | |
push: | |
# Run once a day | |
schedule: | |
- cron: '0 0 * * *' | |
env: | |
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 | |
AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_MRK_KEY_ID_1: | | |
arn:aws:kms:us-west-2:658956600833:key/mrk-80bd8ecdcd4342aebd84b7dc9da498a7 | |
AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_MRK_KEY_ID_2: | | |
arn:aws:kms:us-east-1:658956600833:key/mrk-80bd8ecdcd4342aebd84b7dc9da498a7 | |
jobs: | |
tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-13 | |
python: | |
- 3.8 | |
- 3.9 | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
- 3.x | |
architecture: | |
- x64 | |
- x86 | |
category: | |
- local | |
- accept | |
- mpllocal | |
# These require credentials. | |
# Enable them once we sort how to provide them. | |
# - integ | |
# - examples | |
# Append '-mpl' to some test environments. | |
# This suffix signals to tox to install the MPL in the test environment. | |
optional_mpl_dependency: | |
- "" | |
- -mpl | |
exclude: | |
# x86 builds are only meaningful for Windows | |
- os: ubuntu-latest | |
architecture: x86 | |
- os: macos-13 | |
architecture: x86 | |
# MPL is not supported on <3.11 | |
- python: 3.7 | |
optional_mpl_dependency: -mpl | |
- python: 3.8 | |
optional_mpl_dependency: -mpl | |
- python: 3.9 | |
optional_mpl_dependency: -mpl | |
- python: 3.10 | |
optional_mpl_dependency: -mpl | |
# mpllocal requires the MPL to be installed | |
- category: mpllocal | |
optional_mpl_dependency: "" | |
steps: | |
# Support long Dafny filenames (used in MPL and DBESDK repos) | |
- name: Support longpaths | |
run: | | |
git config --global core.longpaths true | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: ${{ matrix.architecture }} | |
- run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade -r dev_requirements/ci-requirements.txt | |
- name: run test | |
env: | |
TOXENV: ${{ matrix.category }}${{ matrix.optional_mpl_dependency }} | |
run: tox -- -vv | |
upstream-py311: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
category: | |
- nocmk | |
- test-upstream-requirements-py311 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade -r dev_requirements/ci-requirements.txt | |
- name: run test | |
env: | |
TOXENV: ${{ matrix.category }}${{ matrix.optional_mpl_dependency }} | |
run: tox -- -vv |