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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: distribution: 'temurin' java-version: '21' cache: 'maven' - uses: aws-actions/configure-aws-credentials@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.1 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