From 3db65d35545e2c32db26a175ed0a0bb9b3c22aab Mon Sep 17 00:00:00 2001 From: nik-localstack Date: Wed, 11 Nov 2026 12:25:39 +0200 Subject: [PATCH] CI: pin runners to ubuntu-24.04 ubuntu-latest now resolves to Ubuntu 26.04, where actions/setup-python has no Python 3.9, so the TestNDeploy matrix fails before any test runs. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/build.yml | 6 +++--- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/data-update_config-managed-rules.yml | 2 +- .../workflows/data-update_ec2-instance-offerings.yml | 2 +- .github/workflows/data-update_ec2-instance-types.yml | 2 +- .github/workflows/data-update_emr_instance_types.yml | 2 +- .github/workflows/data-update_iam-managed-policies.yml | 2 +- .github/workflows/data-update_ssm-default-amis.yml | 2 +- .../workflows/data-update_ssm-default-parameters.yml | 2 +- .github/workflows/data-update_ssm-optimized-amis.yml | 2 +- .github/workflows/dependency_test.yml | 4 ++-- .github/workflows/dockertests.yml | 8 ++++---- .github/workflows/release.yml | 4 ++-- .github/workflows/test_cloudwatch.yml | 2 +- .github/workflows/test_outdated_versions.yml | 2 +- .github/workflows/test_sqs.yml | 2 +- .github/workflows/tests_cdk.yml | 6 +++--- .github/workflows/tests_cli.yml | 2 +- .github/workflows/tests_decoratormode.yml | 2 +- .github/workflows/tests_proxymode.yml | 10 +++++----- .github/workflows/tests_real_aws.yml | 2 +- .github/workflows/tests_sdk_cpp.yml | 2 +- .github/workflows/tests_sdk_dotnet.yml | 2 +- .github/workflows/tests_sdk_go.yml | 2 +- .github/workflows/tests_sdk_java.yml | 2 +- .github/workflows/tests_sdk_js.yml | 2 +- .github/workflows/tests_sdk_ruby.yml | 2 +- .github/workflows/tests_sdk_sagemaker.yml | 2 +- .github/workflows/tests_servermode.yml | 2 +- .github/workflows/tests_terraform_examples.yml | 4 ++-- .github/workflows/tests_without_docker.yml | 2 +- 31 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b7721b70dc6d..7519762cd95d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ on: jobs: cache: name: Caching - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: matrix: python-version: [ 3.9, "3.10", "3.11", "3.12", "3.13", "3.14" ] @@ -43,7 +43,7 @@ jobs: lint: name: Linting - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: cache strategy: fail-fast: false @@ -80,7 +80,7 @@ jobs: buildserver: needs: lint - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d7b213fe72c5..b060681fa883 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -18,7 +18,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: actions: read contents: read diff --git a/.github/workflows/data-update_config-managed-rules.yml b/.github/workflows/data-update_config-managed-rules.yml index 55338d18d507..b38f08b371c5 100644 --- a/.github/workflows/data-update_config-managed-rules.yml +++ b/.github/workflows/data-update_config-managed-rules.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update Config Managed Rules - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_ec2-instance-offerings.yml b/.github/workflows/data-update_ec2-instance-offerings.yml index db11141a95ff..12ce7ead9804 100644 --- a/.github/workflows/data-update_ec2-instance-offerings.yml +++ b/.github/workflows/data-update_ec2-instance-offerings.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update EC2 Instance Offerings - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_ec2-instance-types.yml b/.github/workflows/data-update_ec2-instance-types.yml index b519b615cd9f..86127eaaf7e4 100644 --- a/.github/workflows/data-update_ec2-instance-types.yml +++ b/.github/workflows/data-update_ec2-instance-types.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update EC2 Instance Types - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_emr_instance_types.yml b/.github/workflows/data-update_emr_instance_types.yml index f48ddab06ab6..940650582360 100644 --- a/.github/workflows/data-update_emr_instance_types.yml +++ b/.github/workflows/data-update_emr_instance_types.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update EMR Instance Types - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_iam-managed-policies.yml b/.github/workflows/data-update_iam-managed-policies.yml index 3f699d69d41f..ffe71d74dbbf 100644 --- a/.github/workflows/data-update_iam-managed-policies.yml +++ b/.github/workflows/data-update_iam-managed-policies.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update IAM Managed Policies - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_ssm-default-amis.yml b/.github/workflows/data-update_ssm-default-amis.yml index a34cd19077ef..37045578736b 100644 --- a/.github/workflows/data-update_ssm-default-amis.yml +++ b/.github/workflows/data-update_ssm-default-amis.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update SSM default AMIs - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_ssm-default-parameters.yml b/.github/workflows/data-update_ssm-default-parameters.yml index c68f886c5068..380cefbec334 100644 --- a/.github/workflows/data-update_ssm-default-parameters.yml +++ b/.github/workflows/data-update_ssm-default-parameters.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update SSM default parameters - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/data-update_ssm-optimized-amis.yml b/.github/workflows/data-update_ssm-optimized-amis.yml index c759b49c026a..870ed455f446 100644 --- a/.github/workflows/data-update_ssm-optimized-amis.yml +++ b/.github/workflows/data-update_ssm-optimized-amis.yml @@ -15,7 +15,7 @@ on: jobs: update: name: Update SSM Optimized AMIs - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: ${{ github.ref == 'refs/heads/localstack' && github.repository == 'localstack/moto' }} permissions: id-token: write diff --git a/.github/workflows/dependency_test.yml b/.github/workflows/dependency_test.yml index fb4bec5e2a7d..6c54363c3de4 100644 --- a/.github/workflows/dependency_test.yml +++ b/.github/workflows/dependency_test.yml @@ -7,7 +7,7 @@ on: jobs: prepare_list: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - id: set-matrix @@ -17,7 +17,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} runtest: name: Run Dependency Test - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: prepare_list strategy: fail-fast: false diff --git a/.github/workflows/dockertests.yml b/.github/workflows/dockertests.yml index af70bcdc9613..ea4fac0ac91b 100644 --- a/.github/workflows/dockertests.yml +++ b/.github/workflows/dockertests.yml @@ -11,7 +11,7 @@ on: jobs: cache: name: Caching - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: matrix: python-version: [ "3.11" ] @@ -43,7 +43,7 @@ jobs: test_custom_port: name: Test Custom Port - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: cache strategy: matrix: @@ -100,7 +100,7 @@ jobs: test_custom_name: name: Test Custom Network Name - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: cache strategy: matrix: @@ -156,7 +156,7 @@ jobs: test_custom_networkmode: name: Pass NetworkMode to AWSLambda - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: cache strategy: matrix: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 177e27d0f547..c2bf4c95971c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,7 @@ concurrency: jobs: analyse-commit-log: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 outputs: is-release-required: ${{ steps.check.outputs.new_commits_made }} last-tag: ${{ steps.last_tag.outputs.tag }} @@ -55,7 +55,7 @@ jobs: fi build-release-moto-ext: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: analyse-commit-log if: ${{ needs.analyse-commit-log.outputs.is-release-required == 'true' }} environment: diff --git a/.github/workflows/test_cloudwatch.yml b/.github/workflows/test_cloudwatch.yml index db304b406200..e44a833360df 100644 --- a/.github/workflows/test_cloudwatch.yml +++ b/.github/workflows/test_cloudwatch.yml @@ -14,7 +14,7 @@ env: jobs: test-cloudwatch-protocols: name: "${{ matrix.protocol }} protocol, server mode: ${{ matrix.test-server-mode }}" - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/test_outdated_versions.yml b/.github/workflows/test_outdated_versions.yml index c7bd0e180a91..fc5560ad5d73 100644 --- a/.github/workflows/test_outdated_versions.yml +++ b/.github/workflows/test_outdated_versions.yml @@ -9,7 +9,7 @@ on: jobs: test: if: ${{ github.event.label.name == 'moto-core' }} - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/test_sqs.yml b/.github/workflows/test_sqs.yml index 8c52b962e2e9..9de629fe9c93 100644 --- a/.github/workflows/test_sqs.yml +++ b/.github/workflows/test_sqs.yml @@ -14,7 +14,7 @@ env: jobs: test-sqs-protocols: name: "${{ matrix.protocol }} protocol, server mode: ${{ matrix.test-server-mode }}" - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/tests_cdk.yml b/.github/workflows/tests_cdk.yml index 37e9ccade6a5..13b85e674c90 100644 --- a/.github/workflows/tests_cdk.yml +++ b/.github/workflows/tests_cdk.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: cdk_start: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -41,7 +41,7 @@ jobs: cdk bootstrap -v find-jobs: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: cdk_start name: Find Jobs outputs: @@ -58,7 +58,7 @@ jobs: echo "folders=$folders" >> $GITHUB_OUTPUT test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: find-jobs strategy: fail-fast: false diff --git a/.github/workflows/tests_cli.yml b/.github/workflows/tests_cli.yml index f9aa5e9a11d1..be592906604f 100644 --- a/.github/workflows/tests_cli.yml +++ b/.github/workflows/tests_cli.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests_decoratormode.yml b/.github/workflows/tests_decoratormode.yml index 6910051f5075..931d1a244719 100644 --- a/.github/workflows/tests_decoratormode.yml +++ b/.github/workflows/tests_decoratormode.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/tests_proxymode.yml b/.github/workflows/tests_proxymode.yml index ffa361096b95..7bdcc029e544 100644 --- a/.github/workflows/tests_proxymode.yml +++ b/.github/workflows/tests_proxymode.yml @@ -6,10 +6,10 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-latest", "windows-latest"] + os: ["ubuntu-24.04", "windows-latest"] python-version: ["3.10", "3.11", "3.12"] include: - - os: ubuntu-latest + - os: ubuntu-24.04 path: ~/.cache/pip - os: windows-latest path: ~\AppData\Local\pip\Cache @@ -42,11 +42,11 @@ jobs: pip install -r requirements-tests.txt pip install .[all,server] - name: Start MotoProxy on Linux - if: ${{ matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.os == 'ubuntu-24.04' }} run: | moto_proxy -H 0.0.0.0 -v > moto_proxy.log & - name: Test ProxyMode on Linux - if: ${{ matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.os == 'ubuntu-24.04' }} env: TEST_PROXY_MODE: ${{ true }} run: | @@ -66,7 +66,7 @@ jobs: moto_proxy -v & pytest -sv tests/test_acmpca tests/test_core/test_proxy.py - name: "Stop MotoProxy" - if: ${{ matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.os == 'ubuntu-24.04' }} run: | kill $(lsof -t -i:5005) - name: Archive Proxy logs diff --git a/.github/workflows/tests_real_aws.yml b/.github/workflows/tests_real_aws.yml index 6067764723d3..446864f84bc1 100644 --- a/.github/workflows/tests_real_aws.yml +++ b/.github/workflows/tests_real_aws.yml @@ -6,7 +6,7 @@ on: jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 name: "Test Against AWS" if: ${{ github.repository == 'getmoto/moto' }} permissions: diff --git a/.github/workflows/tests_sdk_cpp.yml b/.github/workflows/tests_sdk_cpp.yml index 8932db9788e9..034e4d052356 100644 --- a/.github/workflows/tests_sdk_cpp.yml +++ b/.github/workflows/tests_sdk_cpp.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests_sdk_dotnet.yml b/.github/workflows/tests_sdk_dotnet.yml index 5f20d68f3633..3703f255289e 100644 --- a/.github/workflows/tests_sdk_dotnet.yml +++ b/.github/workflows/tests_sdk_dotnet.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests_sdk_go.yml b/.github/workflows/tests_sdk_go.yml index 348358c2361d..c9d49f6998a1 100644 --- a/.github/workflows/tests_sdk_go.yml +++ b/.github/workflows/tests_sdk_go.yml @@ -5,7 +5,7 @@ on: jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 with: diff --git a/.github/workflows/tests_sdk_java.yml b/.github/workflows/tests_sdk_java.yml index 8dc798489e96..7ffb6d06fe8d 100644 --- a/.github/workflows/tests_sdk_java.yml +++ b/.github/workflows/tests_sdk_java.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests_sdk_js.yml b/.github/workflows/tests_sdk_js.yml index e892206caad5..801e4ebba4b5 100644 --- a/.github/workflows/tests_sdk_js.yml +++ b/.github/workflows/tests_sdk_js.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests_sdk_ruby.yml b/.github/workflows/tests_sdk_ruby.yml index d7304a5c9ec5..fff20fed2270 100644 --- a/.github/workflows/tests_sdk_ruby.yml +++ b/.github/workflows/tests_sdk_ruby.yml @@ -4,7 +4,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: matrix: diff --git a/.github/workflows/tests_sdk_sagemaker.yml b/.github/workflows/tests_sdk_sagemaker.yml index 09e8852e3e43..a5d5c51079c8 100644 --- a/.github/workflows/tests_sdk_sagemaker.yml +++ b/.github/workflows/tests_sdk_sagemaker.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/tests_servermode.yml b/.github/workflows/tests_servermode.yml index b5c20a680c25..3eacaa03a7a4 100644 --- a/.github/workflows/tests_servermode.yml +++ b/.github/workflows/tests_servermode.yml @@ -3,7 +3,7 @@ on: [workflow_call] jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/tests_terraform_examples.yml b/.github/workflows/tests_terraform_examples.yml index 28a1e1053efe..e1a9e3de1d31 100644 --- a/.github/workflows/tests_terraform_examples.yml +++ b/.github/workflows/tests_terraform_examples.yml @@ -7,7 +7,7 @@ on: [workflow_call] jobs: find-jobs: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 name: Find Jobs outputs: folders: ${{ steps.set-folders.outputs.folders }} @@ -23,7 +23,7 @@ jobs: echo "folders=$folders" >> $GITHUB_OUTPUT test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: find-jobs strategy: fail-fast: false diff --git a/.github/workflows/tests_without_docker.yml b/.github/workflows/tests_without_docker.yml index 111461fb124b..7b53cef3f8fe 100644 --- a/.github/workflows/tests_without_docker.yml +++ b/.github/workflows/tests_without_docker.yml @@ -10,7 +10,7 @@ on: jobs: test: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: