feat(runtime): add Python 3.13 support #6
Workflow file for this run
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: Code quality - CDK constructor | |
# PROCESS | |
# | |
# 1. Install all dependencies and spin off containers for all supported Python versions | |
# 2. Run code formatters and linters (various checks) for code standard | |
# 3. Run static typing checker for potential bugs | |
# 4. Run tests | |
# USAGE | |
# | |
# Always triggered on new PRs, PR changes and PR merge. | |
on: | |
pull_request: | |
paths: | |
- "layer_v3/layer_constructors/**" | |
branches: | |
- develop | |
push: | |
paths: | |
- "layer_v3/layer_constructors/**" | |
branches: | |
- develop | |
permissions: | |
contents: read | |
jobs: | |
quality_check_cdk: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 4 | |
matrix: | |
python-version: ["3.8","3.9","3.10","3.11","3.12","3.13"] | |
env: | |
PYTHON: "${{ matrix.python-version }}" | |
permissions: | |
contents: read # checkout code only | |
defaults: | |
run: | |
working-directory: ./layer_v3/layer_constructors | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Install poetry | |
run: pipx install poetry | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "poetry" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v2.0.0 | |
with: | |
platforms: arm64 | |
# NOTE: we need QEMU to build Layer against a different architecture (e.g., ARM) | |
- name: Set up Docker Buildx | |
id: builder | |
uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v3.7.1 | |
with: | |
install: true | |
driver: docker | |
platforms: linux/amd64,linux/arm64 | |
- name: Install dependencies | |
run: | | |
pip install --upgrade pip pre-commit poetry | |
poetry install | |
- name: Test with pytest | |
run: poetry run pytest tests |