Skip to content

Run Tests

Run Tests #635

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@v3
- uses: ./.github/actions/gradle-setup
- name: Run Checkstyle
run: ./gradlew checkstyleMain checkstyleTest checkstyleTestFixtures
OpenAPI-Definitions:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/gradle-setup
- name: Generate OpenAPI definition from code
run: ./gradlew resolve
- name: Check OpenAPI definition match code
run: git diff --exit-code
Verify-Launcher:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/gradle-setup
- name: 'Build launcher'
run: ./gradlew :launcher:shadowJar
- name: 'Build Docker image'
run: docker build -t identity-hub ./launcher
- name: 'Start Identity Hub'
run: docker run -d --rm --name identity-hub identity-hub
- 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@v3
- uses: ./.github/actions/gradle-setup
- name: 'Unit and system tests'
uses: ./.github/actions/run-tests
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"
Component-Tests:
runs-on: ubuntu-latest
env:
JACOCO: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/gradle-setup
- name: Component Tests
uses: ./.github/actions/run-tests
with:
command: ./gradlew test -DincludeTags="ComponentTest"
Upload-Coverage-Report-To-Codecov:
needs:
- Test
- Component-Tests
runs-on: ubuntu-latest
if: always()
steps:
# Sources are needed for Codecov report
- uses: actions/checkout@v3
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: CodeCov
uses: codecov/codecov-action@v3