-
Notifications
You must be signed in to change notification settings - Fork 6
64 lines (64 loc) · 1.89 KB
/
oci-distribution-conformance.yml
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
name: Conformance Test
"on":
push:
branches:
- master
paths-ignore:
- '**.md'
pull_request:
branches:
- '*'
paths-ignore:
- '**.md'
permissions:
contents: read
jobs:
test:
name: OCI Distribution
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
check-latest: true
go-version: "1.22"
- name: Start keppel
run: |
make build/keppel
RUNNER_TRACKING_ID="" && make run-api-for-conformance-test &
until curl -s http://localhost:8080/healthcheck; do sleep 0.1; done
IP=$(hostname -I | awk '{print $1}')
echo "SERVER_URL=http://${IP}:8080" >> $GITHUB_ENV
- name: Run OCI Distribution Spec conformance tests
uses: opencontainers/distribution-spec@main
env:
OCI_ROOT_URL: ${{ env.SERVER_URL }}
OCI_NAMESPACE: conformance-test/oci
OCI_USERNAME: johndoe
OCI_PASSWORD: SuperSecret
OCI_TEST_PULL: 1
OCI_TEST_PUSH: 1
OCI_TEST_CONTENT_DISCOVERY: 1
OCI_TEST_CONTENT_MANAGEMENT: 1
OCI_CROSSMOUNT_NAMESPACE: conformance-test/oci
OCI_HIDE_SKIPPED_WORKFLOWS: 0
OCI_DEBUG: 1
OCI_DELETE_MANIFEST_BEFORE_BLOBS: 1
- run: mkdir -p .out/ && mv {report.html,junit.xml} .out/
if: always()
- name: Upload test results zip as build artifact
uses: actions/upload-artifact@v4
with:
name: oci-test-results-${{ github.sha }}
path: .out/
if: always()
services:
postgres:
image: postgres:17
env:
POSTGRES_PASSWORD: mysecretpassword
ports:
- 54321:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5