Skip to content

Fix class tree by fetching individuals separately #672

Fix class tree by fetching individuals separately

Fix class tree by fetching individuals separately #672

Workflow file for this run

name: Build & Test
on:
push:
branches:
- dev
- stable
pull_request:
jobs:
backend-unit-web:
name: Backend Unit & Web Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Java 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
cache: maven
- name: Run backend unit and web integration tests
run: mvn -B -ntp -pl backend -am test
- name: Upload backend unit and web test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: backend-unit-web-reports
path: |
backend/target/surefire-reports/
backend/target/site/jacoco/
if-no-files-found: ignore
backend-postgres-integration:
name: Backend PostgreSQL Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Java 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
cache: maven
- name: Run backend database integration tests
run: mvn -B -ntp -pl backend -am -Pintegration-tests-only verify
- name: Upload backend integration and coverage reports
if: always()
uses: actions/upload-artifact@v4
with:
name: backend-postgres-integration-reports
path: |
backend/target/failsafe-reports/
backend/target/site/jacoco/
if-no-files-found: ignore
test-api:
name: Build & Test API
needs:
- backend-unit-web
- backend-postgres-integration
runs-on: ubuntu-latest
steps:
- name: Free up disk space on GH actions runner
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo rm -rf /usr/local/share/boost
sudo rm -rf /usr/share/swift
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo docker system prune -af
sudo apt-get clean
df -h
- uses: actions/checkout@v4
- name: Set UID and GID
run: |
echo "HOST_UID=$(id -u)" >> $GITHUB_ENV
echo "HOST_GID=$(id -g)" >> $GITHUB_ENV
- name: Build dataload image
run: docker build --target test -t ols4-dataload:local -f ./dataload/Dockerfile .
- name: Run mock dataload and dataload tests
run: |
docker run ols4-dataload:local bash -c "cd /opt/ols && ./test_dataload.sh"
- name: Build other images with docker compose
run: docker compose build --parallel
env:
OLS4_BACKEND_IMAGE: ols4-backend:local
OLS4_FRONTEND_IMAGE: ols4-frontend:local
OLS4_APITESTER_IMAGE: ols4-apitester4:local
DOCKER_BUILDKIT: 1
COMPOSE_DOCKER_CLI_BUILD: 1
- name: Set image environment variables
run: |
echo "OLS4_DATALOAD_IMAGE=ols4-dataload:local" >> $GITHUB_ENV
echo "OLS4_BACKEND_IMAGE=ols4-backend:local" >> $GITHUB_ENV
echo "OLS4_FRONTEND_IMAGE=ols4-frontend:local" >> $GITHUB_ENV
echo "OLS4_APITESTER_IMAGE=ols4-apitester4:local" >> $GITHUB_ENV
- name: Run dataload and API tests
run: |
./test_api.sh