CI: EE - EP Merge - Integration Test #12
Workflow file for this run
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: 'CI: EE - EP Merge - Integration Test' | |
on: | |
# Allow manual triggering | |
workflow_dispatch: | |
# Allow being called by another GitHub Action | |
workflow_call: | |
env: | |
COMPOSE_PROFILES: 'bip,bgs' | |
VRO_DEV_SECRETS_FOLDER: "${{ github.workspace }}/.cache/abd-vro-dev-secrets" | |
jobs: | |
integration-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Checkout source code' | |
uses: actions/checkout@v4 | |
- name: "Checkout abd-vro-dev-secrets repo" | |
uses: actions/checkout@v4 | |
with: | |
# Checkout using a PAT so that we can access the internal repo | |
token: ${{ secrets.ACCESS_TOKEN_CHECKOUT_INTERNAL_REPO }} | |
repository: 'department-of-veterans-affairs/abd-vro-dev-secrets' | |
path: "${{ env.VRO_DEV_SECRETS_FOLDER }}" | |
- name: 'Build the images' | |
uses: ./.github/actions/build-images | |
- name: 'Start the containers' | |
run: | | |
source scripts/setenv.sh | |
# create basic auth token for RabbitMQ and export to github environment | |
BASIC_AUTH=$(echo "${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}" | base64) | |
{ | |
echo "RABBITMQ_USERNAME=${RABBITMQ_USERNAME}" | |
echo "RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}" | |
echo "RABBITMQ_BASIC_AUTH=${BASIC_AUTH}" | |
} >> "$GITHUB_ENV" | |
export -p | sed 's/declare -x //' | |
./gradlew :dockerComposeUp | |
- name: 'Wait for containers to start' | |
run: sleep 60s | |
shell: bash | |
- name: 'Wait for RabbitMQ to be ready' | |
uses: Ponnia-M/curl@v1.0.0 | |
with: | |
url: 'http://localhost:15672/api/vhosts' | |
method: 'GET' | |
basic-auth-token: '${{env.RABBITMQ_BASIC_AUTH}}' | |
accept: 200 | |
# Retry every 2 seconds | |
timeout: 2000 | |
# Quit after 60 seconds | |
retries: 30 | |
- name: "Run Employee Experience Integration Tests" | |
run: | | |
./gradlew :domain-ee:ee-ep-merge-app:integrationTest | |
timeout-minutes: 15 | |
- name: "Start svc-bip-api and mock-bip-claims-api" | |
run: | | |
source scripts/setenv.sh | |
# Temporary workaround until secret is updated with correct value | |
export BIP_CLAIM_URL="mock-bip-claims-api:20300" | |
export -p | sed 's/declare -x //' | |
./gradlew :app:dockerComposeUp | |
./gradlew -p mocks docker | |
./gradlew -p mocks :dockerComposeUp | |
- name: 'Wait for other containers to start' | |
run: sleep 60s | |
shell: bash | |
- name: 'Check disk space (Post-Build)' | |
uses: ./.github/actions/check-disk-space | |
- name: 'Run End 2 End Tests' | |
shell: bash | |
run: | | |
./gradlew :domain-ee:ee-ep-merge-app:endToEndTest | |
timeout-minutes: 15 | |
- name: 'Clean shutdown of all containers' | |
if: always() | |
shell: bash | |
run: | | |
docker ps | |
COMPOSE_PROFILES="all" ./gradlew dockerComposeDown | |
COMPOSE_PROFILES="all" ./gradlew -p mocks dockerComposeDown |