-
Notifications
You must be signed in to change notification settings - Fork 25
110 lines (93 loc) · 2.96 KB
/
verify.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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
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