name: Integration Tests on: schedule: - cron: '30 19 * * MON-FRI' workflow_dispatch: env: # This may seem a little redundant, but copying the configuration to an environment variable makes it easier and safer # to then write its contents to a file INTEGRATION_TEST_CONFIG: ${{ vars.INTEGRATION_TEST_CONFIG }} jobs: build: if: ${{ vars.INTEGRATION_TEST_CONFIG != '' }} runs-on: ubuntu-latest permissions: id-token: write contents: read steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version-file: .java-version cache: 'maven' - uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.0.0 name: Configure AWS credentials from Test account with: role-to-assume: ${{ vars.AWS_ROLE }} aws-region: ${{ vars.AWS_REGION }} - name: Write integration test configuration run: | mkdir -p integration-tests/src/main/resources echo "${INTEGRATION_TEST_CONFIG}" > integration-tests/src/main/resources/config.yml - name: Run and verify integration tests run: ./mvnw clean compile test-compile failsafe:integration-test failsafe:verify -P aws-sso