PR review changes #127
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 Build: E2E tests" | |
on: | |
push: | |
branches: | |
- "main" | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
timeout-minutes: 45 | |
env: | |
SERVAL_CLIENT_ID: ${{ secrets.SERVAL_CLIENT_ID }} | |
SERVAL_CLIENT_SECRET: ${{ secrets.SERVAL_CLIENT_SECRET }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
ClearML_AccessKey: ${{ secrets.ClearML_AccessKey }} | |
ClearML_SecretKey: ${{ secrets.ClearML_SecretKey }} | |
SERVAL_HOST_URL: http://localhost | |
SERVAL_AUTH_URL: https://sil-appbuilder.auth0.com | |
# ASPNETCORE_ENVIRONMENT: Development | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 6.0.x | |
- name: Check if there is a corresponding branch in Machine | |
id: find_matching_branch | |
continue-on-error: true | |
if: ${{ github.ref_name }} != "main" | |
run: cd .. && git clone https://github.com/sillsdev/machine.git --branch ${{ github.ref_name }} && dotnet build machine && dotnet build serval | |
- name: Get Machine | |
if: steps.find_matching_branch.outcome != 'success' | |
run: cd .. && mkdir machine_testing_dir && cd machine_testing_dir && git clone https://github.com/sillsdev/machine.git && cd machine && dotnet build && cd ../../serval && dotnet build && export MACHINE_TESTING_DIR="../machine_testing_dir/machine" && docker compose -f "docker-compose.yml" up -d && sleep 20 #separate repos to guarantee failures when grpc or data access is not up to date | |
- name: Start containers | |
if: steps.find_matching_branch.outcome == 'success' | |
run: docker compose -f "docker-compose.yml" up -d && sleep 20 #allow time for mongo to start up properly | |
- name: Debug network | |
run: docker ps -a && docker logs --since 10m serval_cntr && docker logs --since 10m echo_cntr && docker logs --since 10m machine-engine-cntr && docker logs --since 10m serval-mongo-1 && docker logs --since 10m machine-job-cntr | |
- name: Pre-Test | |
run: sudo mkdir -p /var/lib/serval && sudo chmod 777 /var/lib/serval | |
- name: Test | |
run: dotnet test --no-build --verbosity normal --filter "TestCategory!=slow&TestCategory=E2E" | |
- name: Debug network (Post test) | |
if: ${{ failure() }} | |
run: docker ps -a && docker logs --since 10m serval_cntr && docker logs --since 10m echo_cntr && docker logs --since 10m machine-engine-cntr && docker logs --since 10m serval-mongo-1 && docker logs --since 10m machine-job-cntr | |
- name: Stop containers | |
if: ${{ success() || failure() }} | |
run: docker compose down |