Skip to content

Run Tests

Run Tests #1558

Workflow file for this run

name: Run Tests
on:
workflow_dispatch:
push:
pull_request:
branches: [ main ]
paths-ignore:
- '**.md'
- 'docs/**'
- 'CODEOWNERS'
- 'LICENSE'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Checkstyle:
permissions:
id-token: write
checks: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Run Checkstyle
run: ./gradlew checkstyleMain checkstyleTest checkstyleTestFixtures
Javadoc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Run Javadoc
run: ./gradlew javadoc
Unit-Tests:
runs-on: ubuntu-latest
env:
JACOCO: true
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Run unit tests
uses: eclipse-edc/.github/.github/actions/run-tests@main
with:
command: ./gradlew test jacocoTestReport
Verify-Launcher:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: 'Build launcher'
run: ./gradlew shadowJar
- name: 'Build Docker image'
run: docker build -t federated-catalog:mocked ./launchers/catalog-mocked
- name: 'Start FCC Container'
run: |
docker run -d --rm --name fcc \
-e "WEB_HTTP_CATALOG_PORT=8183" \
-e "WEB_HTTP_CATALOG_PATH=/catalog" \
federated-catalog:mocked
- name: 'Wait for Federated Catalog to be healthy'
uses: raschmitt/wait-for-healthy-container@v1
with:
container-name: fcc
timeout: 60
Postgresql-Integration-Tests:
runs-on: ubuntu-latest
if: ${{ false }}
services:
postgres:
image: postgres:14.2
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: password
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Postgresql Tests
uses: eclipse-edc/.github/.github/actions/run-tests@main
with:
command: ./gradlew test -DincludeTags="PostgresqlIntegrationTest"
Component-Tests:
env:
JACOCO: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Component Tests
uses: eclipse-edc/.github/.github/actions/run-tests@main
with:
command: ./gradlew test jacocoTestReport -DincludeTags="ComponentTest" -PverboseTest=true
End-To-End-Tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: 'Build Launchers'
run: |
./gradlew compileJava compileTestJava
- name: 'End to End Integration Tests'
uses: eclipse-edc/.github/.github/actions/run-tests@main
with:
command: ./gradlew test jacocoTestReport -DincludeTags="EndToEndTest" -PverboseTest=true
API-Tests:
env:
JACOCO: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Component Tests
uses: eclipse-edc/.github/.github/actions/run-tests@main
with:
command: ./gradlew test jacocoTestReport -DincludeTags="ApiTest"
Upload-Test-Report:
needs:
- Unit-Tests
- End-To-End-Tests
- Postgresql-Integration-Tests
- Component-Tests
permissions:
checks: write
pull-requests: write
runs-on: ubuntu-latest
if: always()
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
junit_files: "**/test-results/**/*.xml"
Upload-Coverage-Report-To-Codecov:
needs:
- Unit-Tests
- Component-Tests
- API-Tests
runs-on: ubuntu-latest
if: always()
steps:
# Sources are needed for Codecov report
- uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: CodeCov
uses: codecov/codecov-action@v4