Skip to content

ci: fast CI

ci: fast CI #348

name: test-on-push-and-pr
on:
push:
branches: [ main ]
pull_request:
branches: [ '*' ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run 'pr' target
run: make pr
alpine:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro_version: ["3.19", "3.20"]
runtime_version: ["3.10", "3.11", "3.12", "3.13"]
include:
- distro_version: "3.21"
runtime_version: "3.14"
steps:
- uses: actions/checkout@v4
- name: Run integration test (alpine ${{ matrix.distro_version }} / python ${{ matrix.runtime_version }})
run: |
docker build -t codebuild-agent - < tests/integration/codebuild-local/Dockerfile.agent
CODEBUILD_IMAGE_TAG=codebuild-agent tests/integration/codebuild-local/test_one.sh \
tests/integration/codebuild/buildspec.os.alpine.yml \
alpine "${{ matrix.distro_version }}" "${{ matrix.runtime_version }}"
debian:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro_version: ["bookworm", "bullseye"]
runtime_version: ["3.10", "3.11", "3.12", "3.13"]
include:
- distro_version: "bookworm"
runtime_version: "3.14"
steps:
- uses: actions/checkout@v4
- name: Run integration test (debian ${{ matrix.distro_version }} / python ${{ matrix.runtime_version }})
run: |
docker build -t codebuild-agent - < tests/integration/codebuild-local/Dockerfile.agent
CODEBUILD_IMAGE_TAG=codebuild-agent tests/integration/codebuild-local/test_one.sh \
tests/integration/codebuild/buildspec.os.debian.yml \
debian "${{ matrix.distro_version }}" "${{ matrix.runtime_version }}"
amazonlinux2:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
runtime_version: ["3.10", "3.11"]
steps:
- uses: actions/checkout@v4
- name: Run integration test (amazonlinux 2 / python ${{ matrix.runtime_version }})
run: |
docker build -t codebuild-agent - < tests/integration/codebuild-local/Dockerfile.agent
CODEBUILD_IMAGE_TAG=codebuild-agent tests/integration/codebuild-local/test_one.sh \
tests/integration/codebuild/buildspec.os.amazonlinux.2.yml \
amazonlinux2 "2" "${{ matrix.runtime_version }}"
amazonlinux2023:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
runtime_version: ["3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Run integration test (amazonlinux 2023 / python ${{ matrix.runtime_version }})
run: |
docker build -t codebuild-agent - < tests/integration/codebuild-local/Dockerfile.agent
CODEBUILD_IMAGE_TAG=codebuild-agent tests/integration/codebuild-local/test_one.sh \
tests/integration/codebuild/buildspec.os.amazonlinux.2023.yml \
amazonlinux2023 "2023" "${{ matrix.runtime_version }}"
ubuntu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro_version: ["22.04", "24.04"]
runtime_version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Run integration test (ubuntu ${{ matrix.distro_version }} / python ${{ matrix.runtime_version }})
run: |
docker build -t codebuild-agent - < tests/integration/codebuild-local/Dockerfile.agent
CODEBUILD_IMAGE_TAG=codebuild-agent tests/integration/codebuild-local/test_one.sh \
tests/integration/codebuild/buildspec.os.ubuntu.yml \
ubuntu "${{ matrix.distro_version }}" "${{ matrix.runtime_version }}"