Skip to content

chore(deps): bump actions/setup-python from 5 to 7 #19

chore(deps): bump actions/setup-python from 5 to 7

chore(deps): bump actions/setup-python from 5 to 7 #19

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
release:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Configure
run: >-
cmake -S . -B build
-DCMAKE_BUILD_TYPE=Release
-DDURABLE_EXECUTION_BUILD_BENCHMARKS=ON
- name: Build
run: cmake --build build --parallel 2
- name: Test
run: ctest --test-dir build --output-on-failure
- name: Install
run: cmake --install build --prefix "${{ runner.temp }}/install"
- name: Configure package consumer
run: >-
cmake -S tests/package_consumer
-B "${{ runner.temp }}/consumer"
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH="${{ runner.temp }}/install"
- name: Build package consumer
run: >-
cmake --build "${{ runner.temp }}/consumer" --parallel 2
- name: Run package consumer
run: "${{ runner.temp }}/consumer/package_consumer"
- name: Benchmark smoke test
run: ./build/durable_execution_microbench
sanitizers:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Configure
run: >-
cmake -S . -B build-sanitize
-DCMAKE_BUILD_TYPE=Debug
-DDURABLE_EXECUTION_BUILD_EXAMPLES=OFF
-DDURABLE_EXECUTION_ENABLE_SANITIZERS=ON
- name: Build
run: cmake --build build-sanitize --parallel 2
- name: Test
env:
ASAN_OPTIONS: detect_leaks=1
run: ctest --test-dir build-sanitize --output-on-failure
conformance:
if: >-
github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-24.04
timeout-minutes: 90
concurrency:
group: durable-cpp-conformance-persistent
cancel-in-progress: false
permissions:
contents: read
id-token: write
env:
AWS_REGION: us-west-2
AWS_DEFAULT_REGION: us-west-2
CONFORMANCE_COMMIT: 02d6dca971a38c13d94d6233d12f687e55b2a572
AWS_SDK_CPP_COMMIT: 29656157ab3aec2464a16564b912aa2fdbbf6437
AWS_LAMBDA_CPP_COMMIT: 30ec0a905cc7e415f4ae7e3a8b898dc8d7c536d0
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v7
with:
python-version: "3.14"
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.INTEGRATION_ROLE_ARN }}
aws-region: ${{ env.AWS_REGION }}
role-session-name: durable-cpp-${{ github.run_id }}
mask-aws-account-id: true
- name: Verify integration account
env:
EXPECTED_ACCOUNT: ${{ secrets.INTEGRATION_ACCOUNT }}
run: |
actual_account=$(aws sts get-caller-identity --query Account --output text)
test "$actual_account" = "$EXPECTED_ACCOUNT"
echo "Integration account verified"
- name: Checkout pinned conformance suite
run: |
git clone --filter=blob:none \
https://github.com/aws/aws-durable-execution-conformance-tests.git \
"${RUNNER_TEMP}/conformance"
git -C "${RUNNER_TEMP}/conformance" checkout "${CONFORMANCE_COMMIT}"
python -m pip install \
"${RUNNER_TEMP}/conformance/packages/aws-durable-execution-conformance-tests"
- name: Checkout pinned AWS SDK for C++
run: |
git clone --filter=blob:none --no-checkout \
https://github.com/aws/aws-sdk-cpp.git \
"${RUNNER_TEMP}/aws-sdk-cpp"
git -C "${RUNNER_TEMP}/aws-sdk-cpp" sparse-checkout init --cone
git -C "${RUNNER_TEMP}/aws-sdk-cpp" sparse-checkout set \
cmake \
toolchains \
src/aws-cpp-sdk-core \
generated/src/aws-cpp-sdk-lambda
git -C "${RUNNER_TEMP}/aws-sdk-cpp" checkout "${AWS_SDK_CPP_COMMIT}"
git -C "${RUNNER_TEMP}/aws-sdk-cpp" submodule update \
--init --recursive crt/aws-crt-cpp
- name: Checkout pinned aws-lambda-cpp
run: |
git clone --filter=blob:none \
https://github.com/awslabs/aws-lambda-cpp.git \
"${RUNNER_TEMP}/aws-lambda-cpp"
git -C "${RUNNER_TEMP}/aws-lambda-cpp" checkout \
"${AWS_LAMBDA_CPP_COMMIT}"
- name: Restore Amazon Linux build cache
uses: actions/cache@v4
with:
path: .cache/conformance-al2023
key: al2023-v1-${{ runner.os }}-${{ env.AWS_SDK_CPP_COMMIT }}-${{ env.AWS_LAMBDA_CPP_COMMIT }}-${{ hashFiles('scripts/build_conformance_al2023.sh') }}-${{ github.sha }}
restore-keys: al2023-v1-${{ runner.os }}-${{ env.AWS_SDK_CPP_COMMIT }}-${{ env.AWS_LAMBDA_CPP_COMMIT }}-${{ hashFiles('scripts/build_conformance_al2023.sh') }}-
- name: Build Amazon Linux 2023 package
env:
AWS_SDK_CPP_SOURCE: ${{ runner.temp }}/aws-sdk-cpp
AWS_LAMBDA_CPP_SOURCE: ${{ runner.temp }}/aws-lambda-cpp
BUILD_ROOT: ${{ github.workspace }}/.cache/conformance-al2023
JOBS: "2"
run: scripts/build_conformance_al2023.sh
- name: Install SAM CLI container wrapper
run: |
mkdir -p "${RUNNER_TEMP}/bin"
cat >"${RUNNER_TEMP}/bin/sam" <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
exec docker run --rm \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
-e AWS_SESSION_TOKEN \
-e AWS_REGION \
-e AWS_DEFAULT_REGION \
-e SAM_CLI_TELEMETRY=0 \
-v "${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE}" \
-v "${RUNNER_TEMP}:${RUNNER_TEMP}" \
-w "${PWD}" \
public.ecr.aws/sam/build-provided.al2023 \
sam "$@"
EOF
chmod +x "${RUNNER_TEMP}/bin/sam"
echo "${RUNNER_TEMP}/bin" >>"${GITHUB_PATH}"
- name: Run all official conformance requirements
run: |
mkdir -p conformance-output/history
durable-execution-conformance \
--template conformance/template.json \
--language cpp \
--region "${AWS_REGION}" \
--name "cpp-persistent" \
--max-workers 4 \
--suite all \
--no-cleanup \
--report console json junit \
--report-file "${GITHUB_WORKSPACE}/conformance-output/report" \
--history-dir "${GITHUB_WORKSPACE}/conformance-output/history" \
--fail-on failed+uncovered
- name: Upload conformance reports
if: always()
uses: actions/upload-artifact@v4
with:
name: conformance-${{ github.run_id }}
path: conformance-output/
if-no-files-found: warn