Run Aurora Integration Tests Default #87
This file contains 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: Run Aurora Integration Tests Default | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
permissions: | |
id-token: write # This is required for requesting the JWT | |
contents: read # This is required for actions/checkout | |
jobs: | |
all-integration-tests-default: | |
name: 'Run Aurora integration tests with default engine version' | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
dbEngine: [ "mysql-aurora", "mysql-multi-az", "pg-aurora", "pg-multi-az" ] | |
steps: | |
- name: 'Clone repository' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 50 | |
- name: 'Set up JDK 8' | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'corretto' | |
java-version: 8 | |
- name: 'Configure AWS credentials' | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ secrets.AWS_DEPLOY_ROLE }} | |
role-session-name: githubActionRunIntegrationTestsDefault | |
aws-region: ${{ secrets.AWS_DEFAULT_REGION }} | |
- name: 'Set up temp AWS credentials' | |
run: | | |
creds=($(aws sts get-session-token \ | |
--duration-seconds 21600 \ | |
--query 'Credentials.[AccessKeyId, SecretAccessKey, SessionToken]' \ | |
--output text \ | |
| xargs)); | |
echo "::add-mask::${creds[0]}" | |
echo "::add-mask::${creds[1]}" | |
echo "::add-mask::${creds[2]}" | |
echo "TEMP_AWS_ACCESS_KEY_ID=${creds[0]}" >> $GITHUB_ENV | |
echo "TEMP_AWS_SECRET_ACCESS_KEY=${creds[1]}" >> $GITHUB_ENV | |
echo "TEMP_AWS_SESSION_TOKEN=${creds[2]}" >> $GITHUB_ENV | |
- name: Run integration tests | |
run: | | |
./gradlew --no-parallel --no-daemon test-all-${{ matrix.dbEngine }} | |
env: | |
AURORA_CLUSTER_DOMAIN: ${{ secrets.DB_CONN_SUFFIX }} | |
RDS_DB_REGION: ${{ secrets.AWS_DEFAULT_REGION }} | |
AWS_ACCESS_KEY_ID: ${{ env.TEMP_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ env.TEMP_AWS_SECRET_ACCESS_KEY }} | |
AWS_SESSION_TOKEN: ${{ env.TEMP_AWS_SESSION_TOKEN }} | |
AURORA_MYSQL_DB_ENGINE_VERSION: "default" | |
AURORA_PG_ENGINE_VERSION: "default" | |
- name: Mask data | |
run: | | |
./gradlew --no-parallel --no-daemon maskJunitHtmlReport | |
- name: Archive junit results for ${{ matrix.dbEngine }} | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: junit-report-default-${{ matrix.dbEngine }} | |
path: ./wrapper/build/test-results | |
retention-days: 5 | |
- name: Archive html summary report for ${{ matrix.dbEngine }} | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: html-summary-report-default-${{ matrix.dbEngine }} | |
path: ./wrapper/build/report | |
retention-days: 5 |