feat: push main and manual trigger are added #10
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: | |
| pull_request: | |
| paths: | |
| - ".github/workflows/s3-integration.yml" | |
| - "s3/**" | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| # AWS S3 US Integration Tests | |
| aws-s3-us-integration: | |
| name: AWS S3 US Integration | |
| runs-on: ubuntu-latest | |
| env: | |
| REGION_NAME: us-east-1 | |
| STACK_NAME: s3cli-iam | |
| S3_ENDPOINT_HOST: https://s3.amazonaws.com | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install Ginkgo | |
| run: go install github.com/onsi/ginkgo/v2/ginkgo@latest | |
| - 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 }} | |
| focus_regex: 'GENERAL AWS|AWS V2 REGION|AWS V4 REGION|AWS 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 }} | |
| 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 }} | |
| role_arn: ${{ secrets.AWS_ROLE_ARN }} | |
| focus_regex: '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 }} | |
| # AWS S3 Public Read Integration | |
| aws-s3-public-read-integration: | |
| name: AWS S3 Public Read Integration | |
| runs-on: ubuntu-latest | |
| env: | |
| REGION_NAME: us-east-1 | |
| STACK_NAME: s3cli-public-bucket | |
| S3_ENDPOINT_HOST: https://s3.amazonaws.com | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install Ginkgo | |
| run: go install github.com/onsi/ginkgo/v2/ginkgo@latest | |
| - 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: Run public read tests | |
| 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 }} | |
| focus_regex: 'PUBLIC READ ONLY' | |
| test_type: 'aws' | |
| - 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 }} | |
| # AWS S3 Frankfurt Integration | |
| aws-s3-frankfurt-integration: | |
| name: AWS S3 Frankfurt Integration | |
| runs-on: ubuntu-latest | |
| env: | |
| REGION_NAME: eu-central-1 | |
| STACK_NAME: s3cli-private-bucket | |
| S3_ENDPOINT_HOST: https://s3.eu-central-1.amazonaws.com | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| - name: Install Ginkgo | |
| run: go install github.com/onsi/ginkgo/v2/ginkgo@latest | |
| - 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: Run Frankfurt region tests | |
| 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 }} | |
| focus_regex: 'GENERAL AWS|AWS V4 REGION' # TODO: after aws-sdk-go-v2 migration, AWS V4 ONLY REGION test is failling, Removed temporarily from focus. | |
| test_type: 'aws' | |
| - 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 }} | |
| # TODO: after aws-sdk-go-v2 migration, not working properly. Disabled for now. | |
| # s3-compatible-integration: | |
| # name: S3 Compatible Integration | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout code | |
| # uses: actions/checkout@v5 | |
| # - name: Set up Go | |
| # uses: actions/setup-go@v6 | |
| # with: | |
| # go-version-file: go.mod | |
| # - name: Install Ginkgo | |
| # run: go install github.com/onsi/ginkgo/v2/ginkgo@latest | |
| # - 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" | |
| # export s3_endpoint_host="https://storage.googleapis.com" | |
| # export s3_endpoint_port="443" | |
| # ./.github/scripts/s3/run-integration-s3-compat.sh |