script and internal qa updates #308
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 | |
# get version of machine.py - MACHINE_PY_IMAGE will force the docker compose to use the proper version of machine.py | |
- name: Install regctl | |
uses: iarekylew00t/regctl-installer@v1 | |
- name: Getr Version of Machine.py | |
run: echo "MACHINE_PY_IMAGE=ghcr.io/sillsdev/machine.py:$(regctl image config ghcr.io/sillsdev/machine.py | jq -r ".config.Labels[\"org.opencontainers.image.version\"]")" >> $GITHUB_ENV | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 6.0.x | |
- name: Start containers | |
run: dotnet build && 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" --collect:"Xplat Code Coverage" | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
- 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 |