Skip to content

Workflow file for this run

name: CI-build-and-test
on:
push:
branches-ignore:
- main
- "release-*"
jobs:
build-and-test:
name: Build and test
runs-on: ubuntu-latest
strategy:
matrix:
java: [ "17", "21" ]
steps:
- name: Run preparatory steps
uses: dasch-swiss/dsp-api/.github/actions/preparation@main
with:
java-version: ${{ matrix.java }}
- name: Run all tests
run: ./sbtx -v coverage "webapi/test" coverageAggregate
- name: WebApi Unit Test Report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: WebApi Unit Test Results
path: ./webapi/target/test-reports/TEST-*.xml
reporter: java-junit
- name: Upload coverage data to codacy
uses: codacy/codacy-coverage-reporter-action@v1
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: ./target/scala-2.13/coverage-report/cobertura.xml
- name: Upload coverage data to codecov
uses: codecov/codecov-action@v3
with:
files: ./target/scala-2.13/coverage-report/cobertura.xml
integration-test:
name: Build and integration-test
runs-on: actuated
strategy:
matrix:
java: [ "17", "21" ]
concurrency:
group: ${{ github.ref }}-${{ matrix.java }}-it
cancel-in-progress: true
steps:
- name: Run preparatory steps
uses: dasch-swiss/dsp-api/.github/actions/preparation@main
with:
java-version: ${{ matrix.java }}
- name: Run all integration tests
run: make integration-test
- name: WebApi Integration Test Report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: WebApi Integration Test Results
path: ./integration/target/test-reports/TEST-*.xml
reporter: java-junit
- name: Upload coverage data to codacy
uses: codacy/codacy-coverage-reporter-action@v1
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: ./target/scala-2.13/coverage-report/cobertura.xml
- name: Upload coverage data to codecov
uses: codecov/codecov-action@v3
with:
files: ./target/scala-2.13/coverage-report/cobertura.xml
test-client-test-data:
name: Test client-test-data
runs-on: ubuntu-latest
steps:
- name: Run preparatory steps
uses: dasch-swiss/dsp-api/.github/actions/preparation@main
- name: Create client-test-data
run: make client-test-data
test-repository-upgrade:
name: Test repository upgrade
runs-on: ubuntu-latest
steps:
- name: Run preparatory steps
uses: dasch-swiss/dsp-api/.github/actions/preparation@main
- name: Test repository upgrade
run: make test-repository-upgrade
- name: Dump docker logs
uses: jwalton/gh-docker-logs@v2
test-docs-build:
name: Test docs
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Install requirements (pip, npm, apt)
run: |
python -m pip install --upgrade pip
pip install -r docs/requirements.txt
npm install --global typedoc
sudo apt-get install graphviz
- name: Build docs
run: make docs-build
check-formatting:
name: Check formatting
runs-on: ubuntu-latest
steps:
- name: Run preparatory steps
uses: dasch-swiss/dsp-api/.github/actions/preparation@main
- name: Check formatting
run: make check