Skip to content

Run Tests

Run Tests #1724

Workflow file for this run

name: Run Tests
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
jobs:
Checkstyle:
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
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 :launcher:shadowJar
- name: 'Build Docker image'
run: docker build -t identity-hub ./launcher
- name: 'Create public key file'
run: |
mkdir -p keys
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout keys/key.pem -out keys/cert.pem -subj="/CN=www.foo.bar"
- name: 'Start Identity Hub'
run: |
docker run -d --rm --name identity-hub \
-v $(pwd)/keys:/opt/keys \
-e "EDC_IH_IAM_PUBLICKEY_PATH=/opt/keys/key.pem" \
-e "EDC_IH_IAM_ID=did:web:test" \
-e "WEB_HTTP_RESOLUTION_PORT=10001" \
-e "WEB_HTTP_RESOLUTION_PATH=/api/v1/resolution/" \
identity-hub:latest
- name: 'Wait for Identity Hub to be healthy'
uses: raschmitt/wait-for-healthy-container@v1
with:
container-name: identity-hub
timeout: 60
Test:
permissions:
checks: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: 'Unit and system tests'
uses: eclipse-edc/.github/.github/actions/run-tests@main
with:
command: ./gradlew test
timeout-minutes: 10
env:
INTEGRATION_TEST: true
JACOCO: "true"
# - name: 'Publish Test Results'
# uses: EnricoMi/publish-unit-test-result-action@v1
# if: always()
# with:
# files: "**/test-results/**/*.xml"
Integration-Tests:
runs-on: ubuntu-latest
env:
JACOCO: true
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 compileJava compileTestJava test -DincludeTags="ComponentTest,ApiTest,EndToEndTest"
Upload-Coverage-Report-To-Codecov:
needs:
- Test
- Integration-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