build(deps): bump google.golang.org/api from 0.290.0 to 0.291.0 in the google-cloud group across 1 directory #397
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: S3 Integration Tests | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| pr_ref: | |
| description: 'SHA of the PR head commit (for fork PRs)' | |
| required: false | |
| default: '' | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| workflow_call: | |
| concurrency: | |
| group: s3-integration | |
| cancel-in-progress: false | |
| jobs: | |
| aws-s3-us-integration: | |
| name: AWS S3 US Integration | |
| runs-on: ubuntu-latest | |
| # Skip fork PRs; run for all other triggers (push, dispatch, workflow_call, schedule, etc.) | |
| if: > | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| permissions: | |
| statuses: write | |
| env: | |
| REGION_NAME: us-east-1 | |
| STACK_NAME: s3cli-iam | |
| S3_ENDPOINT_HOST: https://s3.amazonaws.com | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ inputs.pr_ref || github.sha }} | |
| - name: Set up test environment | |
| uses: ./.github/actions/go-test-bootstrap | |
| - name: Setup AWS infrastructure | |
| uses: ./.github/actions/s3-integration-setup | |
| with: | |
| access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ env.REGION_NAME }} | |
| stack_name: ${{ env.STACK_NAME }} | |
| - name: Test Static Credentials | |
| uses: ./.github/actions/s3-integration-run | |
| with: | |
| access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ env.REGION_NAME }} | |
| stack_name: ${{ env.STACK_NAME }} | |
| s3_endpoint_host: ${{ env.S3_ENDPOINT_HOST }} | |
| label_filter: 'aws && static && (general || us-east-1)' | |
| test_type: 'aws' | |
| - name: Test IAM Roles | |
| uses: ./.github/actions/s3-integration-run | |
| with: | |
| access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ env.REGION_NAME }} | |
| stack_name: ${{ env.STACK_NAME }} | |
| label_filter: 'aws && iam-role' | |
| test_type: 'aws-iam' | |
| - name: Test Assume Roles | |
| uses: ./.github/actions/s3-integration-run | |
| with: | |
| access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ env.REGION_NAME }} | |
| stack_name: ${{ env.STACK_NAME }} | |
| role_arn: ${{ secrets.AWS_ROLE_ARN }} | |
| label_filter: 'aws && assume-role' | |
| test_type: 'aws-assume' | |
| - name: Teardown AWS infrastructure | |
| if: always() | |
| uses: ./.github/actions/s3-integration-teardown | |
| with: | |
| access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ env.REGION_NAME }} | |
| stack_name: ${{ env.STACK_NAME }} | |
| - name: Report fork PR status | |
| if: always() && inputs.pr_ref != '' | |
| uses: ./.github/actions/report-fork-status | |
| with: | |
| pr_ref: ${{ inputs.pr_ref }} | |
| name: AWS S3 US Integration | |
| aws-s3-regional-integration: | |
| name: AWS S3 ${{ matrix.name }} Integration | |
| runs-on: ubuntu-latest | |
| # Skip fork PRs; run for all other triggers (push, dispatch, workflow_call, schedule, etc.) | |
| if: > | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| permissions: | |
| statuses: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Public Read | |
| region_name: us-east-1 | |
| stack_name: s3cli-public-bucket | |
| s3_endpoint_host: https://s3.amazonaws.com | |
| label_filter: 'aws && public-read' | |
| use_esc_credentials: false | |
| - name: Frankfurt | |
| region_name: eu-central-1 | |
| stack_name: s3cli-private-bucket | |
| s3_endpoint_host: https://s3.eu-central-1.amazonaws.com | |
| label_filter: 'aws && static && general && !requires-default-region' | |
| use_esc_credentials: false | |
| - name: European Sovereign Cloud | |
| region_name: eusc-de-east-1 | |
| stack_name: s3cli-private-bucket | |
| s3_endpoint_host: https://s3.eusc-de-east-1.amazonaws.eu | |
| label_filter: 'aws && esc' | |
| use_esc_credentials: true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ inputs.pr_ref || github.sha }} | |
| - name: Set up test environment | |
| uses: ./.github/actions/go-test-bootstrap | |
| - name: Setup AWS infrastructure | |
| uses: ./.github/actions/s3-integration-setup | |
| with: | |
| access_key_id: ${{ matrix.use_esc_credentials && secrets.AWS_ESC_ACCESS_KEY_ID || secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ matrix.use_esc_credentials && secrets.AWS_ESC_SECRET_ACCESS_KEY || secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ matrix.region_name }} | |
| stack_name: ${{ matrix.stack_name }} | |
| - name: Run regional tests | |
| uses: ./.github/actions/s3-integration-run | |
| with: | |
| access_key_id: ${{ matrix.use_esc_credentials && secrets.AWS_ESC_ACCESS_KEY_ID || secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ matrix.use_esc_credentials && secrets.AWS_ESC_SECRET_ACCESS_KEY || secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ matrix.region_name }} | |
| stack_name: ${{ matrix.stack_name }} | |
| s3_endpoint_host: ${{ matrix.s3_endpoint_host }} | |
| label_filter: ${{ matrix.label_filter }} | |
| test_type: 'aws' | |
| - name: Teardown AWS infrastructure | |
| if: always() | |
| uses: ./.github/actions/s3-integration-teardown | |
| with: | |
| access_key_id: ${{ matrix.use_esc_credentials && secrets.AWS_ESC_ACCESS_KEY_ID || secrets.AWS_ACCESS_KEY_ID }} | |
| secret_access_key: ${{ matrix.use_esc_credentials && secrets.AWS_ESC_SECRET_ACCESS_KEY || secrets.AWS_SECRET_ACCESS_KEY }} | |
| region_name: ${{ matrix.region_name }} | |
| stack_name: ${{ matrix.stack_name }} | |
| - name: Report fork PR status | |
| if: always() && inputs.pr_ref != '' | |
| uses: ./.github/actions/report-fork-status | |
| with: | |
| pr_ref: ${{ inputs.pr_ref }} | |
| name: AWS S3 ${{ matrix.name }} Integration | |
| s3-compatible-integration: | |
| name: S3 Compatible Integration | |
| runs-on: ubuntu-latest | |
| # Skip fork PRs; run for all other triggers (push, dispatch, workflow_call, schedule, etc.) | |
| if: > | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| permissions: | |
| statuses: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ inputs.pr_ref || github.sha }} | |
| - name: Set up test environment | |
| uses: ./.github/actions/go-test-bootstrap | |
| - name: Run GCS S3 compatible tests | |
| run: | | |
| export access_key_id="${{ secrets.GCP_ACCESS_KEY_ID }}" | |
| export secret_access_key="${{ secrets.GCP_SECRET_ACCESS_KEY }}" | |
| export bucket_name=storage-cli-test-aws-compat | |
| export s3_endpoint_host=storage.googleapis.com | |
| export s3_endpoint_port=443 | |
| export label_filter='s3-compatible' | |
| ./.github/scripts/s3/run-integration-s3-compat.sh | |
| - name: Report fork PR status | |
| if: always() && inputs.pr_ref != '' | |
| uses: ./.github/actions/report-fork-status | |
| with: | |
| pr_ref: ${{ inputs.pr_ref }} | |
| name: S3 Compatible Integration | |