Skip to content

Continuous Integration tests #4956

Continuous Integration tests

Continuous Integration tests #4956

Workflow file for this run

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