name: object-storage-qualification on: pull_request: schedule: - cron: "23 3 * * 2" workflow_dispatch: inputs: run_protected_aws: description: Run the protected AWS sandbox qualification lane required: true default: false type: boolean # AwsS3DirectTransferQualificationTest requires a second, separate authority # (OBJECT_STORAGE_AWS_DIRECT_MUTATION_ENABLED) before the direct-transfer lane may run, and # the job never supplied it. objectStorageAwsQualificationTest is a strict qualification task # that requires both of its classes, so the lane could not be run to a pass from any input: # dispatching it always failed on the missing variable. The authority now exists as its own # input rather than as a constant, which is what "separate" was supposed to mean. run_protected_aws_direct_mutation: description: Also authorize the direct-transfer mutation lane against the sandbox bucket required: true default: false type: boolean permissions: contents: read env: TESTCONTAINERS_REUSE_ENABLE: "false" jobs: poster-image-v7-migration: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - name: Validate Gradle wrapper id: gradle-wrapper-validation uses: gradle/actions/wrapper-validation@3f131e8634966bd73d06cc69884922b02e6faf92 # gradle/actions@v6 - uses: ./.github/actions/setup-gradle-java - name: Run non-skipping Poster image migration qualification working-directory: src run: ./gradlew :sample-portfolio:posterImageMigrationTest --no-daemon --stacktrace minio-managed-contract: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - name: Validate Gradle wrapper id: gradle-wrapper-validation uses: gradle/actions/wrapper-validation@3f131e8634966bd73d06cc69884922b02e6faf92 # gradle/actions@v6 - uses: ./.github/actions/setup-gradle-java - name: Run exact-release MinIO managed contract working-directory: src run: ./gradlew :adapter:outbound:objectstorage:objectStorageMinioContractTest --no-daemon --stacktrace minio-managed-fault: if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - name: Validate Gradle wrapper id: gradle-wrapper-validation uses: gradle/actions/wrapper-validation@3f131e8634966bd73d06cc69884922b02e6faf92 # gradle/actions@v6 - uses: ./.github/actions/setup-gradle-java - name: Run digest-pinned MinIO and Toxiproxy fault contract working-directory: src run: ./gradlew :adapter:outbound:objectstorage:objectStorageMinioFaultTest --no-daemon --stacktrace aws-managed-common-subset: if: >- github.event_name == 'workflow_dispatch' && inputs.run_protected_aws && inputs.run_protected_aws_direct_mutation environment: object-storage-aws-qualification runs-on: ubuntu-latest env: OBJECT_STORAGE_AWS_QUALIFICATION_ENABLED: "true" OBJECT_STORAGE_AWS_DIRECT_MUTATION_ENABLED: ${{ inputs.run_protected_aws_direct_mutation }} OBJECT_STORAGE_AWS_BUCKET: ${{ secrets.OBJECT_STORAGE_AWS_BUCKET }} OBJECT_STORAGE_AWS_REGION: ${{ secrets.OBJECT_STORAGE_AWS_REGION }} OBJECT_STORAGE_AWS_EXPECTED_OWNER: ${{ secrets.OBJECT_STORAGE_AWS_EXPECTED_OWNER }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - name: Validate Gradle wrapper id: gradle-wrapper-validation uses: gradle/actions/wrapper-validation@3f131e8634966bd73d06cc69884922b02e6faf92 # gradle/actions@v6 - uses: ./.github/actions/setup-gradle-java - name: Run protected AWS common-subset qualification working-directory: src run: ./gradlew :adapter:outbound:objectstorage:objectStorageAwsQualificationTest --no-daemon --stacktrace