Skip to content

build(deps): update boto3 requirement from >=1.43.7 to >=1.43.8 in /python/cluster_management #1135

build(deps): update boto3 requirement from >=1.43.7 to >=1.43.8 in /python/cluster_management

build(deps): update boto3 requirement from >=1.43.7 to >=1.43.8 in /python/cluster_management #1135

Workflow file for this run

# Orchestrates all PR CI by detecting changed paths and conditionally invoking
# per-language workflows. The "gate" job always runs and can be configured as
# the single required status check in GitHub branch protection.
name: CI Gate
permissions: {}
on:
pull_request:
workflow_dispatch:
jobs:
changes:
runs-on: ubuntu-latest
outputs:
cpp-cm: ${{ steps.detect.outputs.cpp-cm }}
cpp-libpq: ${{ steps.detect.outputs.cpp-libpq }}
deno-booking-api: ${{ steps.detect.outputs.deno-booking-api }}
deno-postgresjs: ${{ steps.detect.outputs.deno-postgresjs }}
dotnet-cm: ${{ steps.detect.outputs.dotnet-cm }}
dotnet-npgsql: ${{ steps.detect.outputs.dotnet-npgsql }}
go-cm: ${{ steps.detect.outputs.go-cm }}
go-pgx: ${{ steps.detect.outputs.go-pgx }}
go-recipe-api: ${{ steps.detect.outputs.go-recipe-api }}
java-cm: ${{ steps.detect.outputs.java-cm }}
java-pgjdbc: ${{ steps.detect.outputs.java-pgjdbc }}
java-spring-boot: ${{ steps.detect.outputs.java-spring-boot }}
javascript-cm: ${{ steps.detect.outputs.javascript-cm }}
javascript-node-postgres: ${{ steps.detect.outputs.javascript-node-postgres }}
javascript-postgresjs: ${{ steps.detect.outputs.javascript-postgresjs }}
lambda-nodejs: ${{ steps.detect.outputs.lambda-nodejs }}
php-pdo-pgsql: ${{ steps.detect.outputs.php-pdo-pgsql }}
python-asyncpg: ${{ steps.detect.outputs.python-asyncpg }}
python-cm: ${{ steps.detect.outputs.python-cm }}
python-psycopg2: ${{ steps.detect.outputs.python-psycopg2 }}
python-psycopg3: ${{ steps.detect.outputs.python-psycopg3 }}
ruby-cm: ${{ steps.detect.outputs.ruby-cm }}
ruby-pg: ${{ steps.detect.outputs.ruby-pg }}
ruby-rails: ${{ steps.detect.outputs.ruby-rails }}
ruby-rails-carrental: ${{ steps.detect.outputs.ruby-rails-carrental }}
rust-cm: ${{ steps.detect.outputs.rust-cm }}
rust-sqlx: ${{ steps.detect.outputs.rust-sqlx }}
typescript-prisma: ${{ steps.detect.outputs.typescript-prisma }}
typescript-sequelize: ${{ steps.detect.outputs.typescript-sequelize }}
typescript-type-orm: ${{ steps.detect.outputs.typescript-type-orm }}
steps:
- uses: actions/github-script@v8
id: detect
with:
script: |
const config = {
'cpp-cm': ['cpp/cluster_management/'],
'cpp-libpq': ['cpp/libpq/'],
'deno-booking-api': ['deno/booking-api/postgres-js/'],
'deno-postgresjs': ['deno/postgres-js/'],
'dotnet-cm': ['dotnet/cluster_management/'],
'dotnet-npgsql': ['dotnet/npgsql/'],
'go-cm': ['go/cluster_management/'],
'go-pgx': ['go/dsql-pgx-connector/'],
'go-recipe-api': ['go/recipe-sharing-api/'],
'java-cm': ['java/cluster_management/'],
'java-pgjdbc': ['java/pgjdbc/'],
'java-spring-boot': ['java/spring_boot/'],
'javascript-cm': ['javascript/cluster_management/'],
'javascript-node-postgres': ['javascript/node-postgres/'],
'javascript-postgresjs': ['javascript/postgres-js/'],
'lambda-nodejs': ['lambda/'],
'php-pdo-pgsql': ['php/pdo-pgsql/'],
'python-asyncpg': ['python/asyncpg/'],
'python-cm': ['python/cluster_management/'],
'python-psycopg2': ['python/psycopg2/'],
'python-psycopg3': ['python/psycopg/'],
'ruby-cm': ['ruby/cluster_management/'],
'ruby-pg': ['ruby/ruby-pg/'],
'ruby-rails': ['ruby/rails/petclinic/'],
'ruby-rails-carrental': ['ruby/rails/carrental/'],
'rust-cm': ['rust/cluster_management/'],
'rust-sqlx': ['rust/sqlx/'],
'typescript-prisma': ['typescript/prisma-multi-region/'],
'typescript-sequelize': ['typescript/sequelize/'],
'typescript-type-orm': ['typescript/type-orm/'],
};
const runAllPaths = [
'.github/workflows/ci-gate.yml',
'.github/workflows/dsql-cluster-cleanup.yml',
'.github/workflows/dsql-cluster-create.yml',
'.github/workflows/dsql-cluster-delete.yml',
];
const pr = context.payload.pull_request;
// Manual dispatch: run all CI
if (!pr) {
for (const name of Object.keys(config)) core.setOutput(name, 'true');
return;
}
let files = [];
const paginator = github.paginate.iterator(github.rest.pulls.listFiles, {
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
per_page: 100,
});
for await (const resp of paginator) {
files.push(...resp.data.map(f => f.filename));
}
// If API truncated results, run everything to be safe
let runAll = files.length < pr.changed_files;
if (!runAll) {
runAll = files.some(f => runAllPaths.some(p => f === p || f.startsWith(p)));
}
for (const [name, paths] of Object.entries(config)) {
const shouldRun = runAll || files.some(f => paths.some(p => f.startsWith(p)));
core.setOutput(name, String(shouldRun));
}
gitleaks:
uses: ./.github/workflows/gitleaks-scan.yml
secrets: inherit
deps-review:
uses: ./.github/workflows/deps-review.yml
cpp-cm:
needs: changes
if: needs.changes.outputs.cpp-cm == 'true'
uses: ./.github/workflows/cpp-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
cpp-libpq:
needs: changes
if: needs.changes.outputs.cpp-libpq == 'true'
uses: ./.github/workflows/cpp-libpq-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
deno-booking-api:
needs: changes
if: needs.changes.outputs.deno-booking-api == 'true'
uses: ./.github/workflows/deno-booking-api-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
deno-postgresjs:
needs: changes
if: needs.changes.outputs.deno-postgresjs == 'true'
uses: ./.github/workflows/deno-postgresjs-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
dotnet-cm:
needs: changes
if: needs.changes.outputs.dotnet-cm == 'true'
uses: ./.github/workflows/dotnet-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
dotnet-npgsql:
needs: changes
if: needs.changes.outputs.dotnet-npgsql == 'true'
uses: ./.github/workflows/dotnet-npgsql-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
go-cm:
needs: changes
if: needs.changes.outputs.go-cm == 'true'
uses: ./.github/workflows/go-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
go-pgx:
needs: changes
if: needs.changes.outputs.go-pgx == 'true'
uses: ./.github/workflows/go-pgx-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
go-recipe-api:
needs: changes
if: needs.changes.outputs.go-recipe-api == 'true'
uses: ./.github/workflows/go-recipe-api-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
java-cm:
needs: changes
if: needs.changes.outputs.java-cm == 'true'
uses: ./.github/workflows/java-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
java-pgjdbc:
needs: changes
if: needs.changes.outputs.java-pgjdbc == 'true'
uses: ./.github/workflows/java-pgjdbc-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
java-spring-boot:
needs: changes
if: needs.changes.outputs.java-spring-boot == 'true'
uses: ./.github/workflows/java-spring-boot-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
javascript-cm:
needs: changes
if: needs.changes.outputs.javascript-cm == 'true'
uses: ./.github/workflows/javascript-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
javascript-node-postgres:
needs: changes
if: needs.changes.outputs.javascript-node-postgres == 'true'
uses: ./.github/workflows/javascript-node-postgres-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
javascript-postgresjs:
needs: changes
if: needs.changes.outputs.javascript-postgresjs == 'true'
uses: ./.github/workflows/javascript-postgresjs-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
lambda-nodejs:
needs: changes
if: needs.changes.outputs.lambda-nodejs == 'true'
uses: ./.github/workflows/lambda-nodejs-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
python-asyncpg:
needs: changes
if: needs.changes.outputs.python-asyncpg == 'true'
uses: ./.github/workflows/python-asyncpg-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
python-cm:
needs: changes
if: needs.changes.outputs.python-cm == 'true'
uses: ./.github/workflows/python-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
python-psycopg2:
needs: changes
if: needs.changes.outputs.python-psycopg2 == 'true'
uses: ./.github/workflows/python-psycopg2-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
python-psycopg3:
needs: changes
if: needs.changes.outputs.python-psycopg3 == 'true'
uses: ./.github/workflows/python-psycopg3-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
ruby-cm:
needs: changes
if: needs.changes.outputs.ruby-cm == 'true'
uses: ./.github/workflows/ruby-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
ruby-pg:
needs: changes
if: needs.changes.outputs.ruby-pg == 'true'
uses: ./.github/workflows/ruby-pg-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
ruby-rails:
needs: changes
if: needs.changes.outputs.ruby-rails == 'true'
uses: ./.github/workflows/ruby-rails-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
ruby-rails-carrental:
needs: changes
if: needs.changes.outputs.ruby-rails-carrental == 'true'
uses: ./.github/workflows/ruby-rails-carrental-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
rust-cm:
needs: changes
if: needs.changes.outputs.rust-cm == 'true'
uses: ./.github/workflows/rust-cm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
rust-sqlx:
needs: changes
if: needs.changes.outputs.rust-sqlx == 'true'
uses: ./.github/workflows/rust-sqlx-integ-test.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
typescript-prisma:
needs: changes
if: needs.changes.outputs.typescript-prisma == 'true'
uses: ./.github/workflows/typescript-prisma-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
typescript-sequelize:
needs: changes
if: needs.changes.outputs.typescript-sequelize == 'true'
uses: ./.github/workflows/typescript-sequelize-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
typescript-type-orm:
needs: changes
if: needs.changes.outputs.typescript-type-orm == 'true'
uses: ./.github/workflows/typescript-type-orm-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
php-pdo-pgsql:
needs: changes
if: needs.changes.outputs.php-pdo-pgsql == 'true'
uses: ./.github/workflows/php-pdo-pgsql-integ-tests.yml
secrets: inherit
permissions:
id-token: write # required by aws-actions/configure-aws-credentials
gate:
name: gate
runs-on: ubuntu-latest
needs:
- gitleaks
- deps-review
- cpp-cm
- cpp-libpq
- deno-booking-api
- deno-postgresjs
- dotnet-cm
- dotnet-npgsql
- go-cm
- go-pgx
- go-recipe-api
- java-cm
- java-pgjdbc
- java-spring-boot
- javascript-cm
- javascript-node-postgres
- javascript-postgresjs
- lambda-nodejs
- php-pdo-pgsql
- python-asyncpg
- python-cm
- python-psycopg2
- python-psycopg3
- ruby-cm
- ruby-pg
- ruby-rails
- ruby-rails-carrental
- rust-cm
- rust-sqlx
- typescript-prisma
- typescript-sequelize
- typescript-type-orm
if: always()
steps:
- uses: actions/github-script@v8
with:
script: |
const needs = ${{ toJSON(needs) }};
for (const [job, result] of Object.entries(needs)) {
if (result.result === 'failure' || result.result === 'cancelled') {
core.setFailed(`Job ${job} ${result.result}`);
}
}