Skip to content

Parallel images

Parallel images #4

Workflow file for this run

name: Build & Test
on:
pull_request:
branches:
- develop
- "feat*"
merge_group:
types: [checks_requested]
branches:
- develop
- "feat*"
jobs:
run-workflow:
name: Parent PR Status Check
# If any dependent jobs fails, this WF skips which won't block merging PRs
# calling always() is required for this WF to run all the time
# if: github.repository_owner == 'aws' && always()
runs-on: ubuntu-latest
needs:
- build-single-arch
- build-multi-arch
steps:
- name: report-failure
if: |
needs.build-single-arch.result != 'success' ||
needs.build-multi-arch.result != 'success'
run: exit 1
- name: report-success
run: exit 0
get-sam-cli-version:
runs-on: ubuntu-latest
outputs:
sam_cli_version: ${{ steps.sam_cli_version.outputs.sam_cli_version }}
steps:
- id: sam_cli_version
run: echo "sam_cli_version=$(curl -s https://pypi.org/pypi/aws-sam-cli/json | jq -r .info.version)" >> $GITHUB_OUTPUT
build-single-arch:
strategy:
fail-fast: false
matrix:
runtime:
- "java8"
- "provided"
- "python37"
- "go1x"
runs-on: ubuntu-latest
needs: [get-sam-cli-version]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- uses: aws-actions/setup-sam@v2
with:
use-installer: true
- run: make init
- run: SAM_CLI_VERSION=${{needs.get-sam-cli-version.outputs.sam_cli_version}} RUNTIME=${{matrix.runtime}} make build-single-arch
- run: SAM_CLI_VERSION=${{needs.get-sam-cli-version.outputs.sam_cli_version}} RUNTIME=${{matrix.runtime}} ARCH=x86_64 make test
build-multi-arch:
strategy:
fail-fast: false
matrix:
runtime:
- "dotnet6"
- "dotnet7"
- "dotnet8"
- "java8_al2"
- "java11"
- "java17"
- "java21"
- "nodejs16x"
- "nodejs18x"
- "nodejs20x"
- "provided_al2"
- "provided_al2023"
- "python38"
- "python39"
- "python310"
- "python311"
- "python312"
- "ruby32"
runs-on: ubuntu-latest
needs: [get-sam-cli-version]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- uses: aws-actions/setup-sam@v2
with:
use-installer: true
- run: make init
- run: SAM_CLI_VERSION=${{needs.get-sam-cli-version.outputs.sam_cli_version}} RUNTIME=${{matrix.runtime}} make build-multi-arch
- run: SAM_CLI_VERSION=${{needs.get-sam-cli-version.outputs.sam_cli_version}} RUNTIME=${{matrix.runtime}} ARCH=x86_64 make test
- run: SAM_CLI_VERSION=${{needs.get-sam-cli-version.outputs.sam_cli_version}} RUNTIME=${{matrix.runtime}} ARCH=arm64 make test