name: conformance concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: pull_request: push: permissions: contents: read # to fetch code (actions/checkout) jobs: run-conformance-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Build image uses: docker/bake-action@v2 with: targets: image-local - name: Start distribution server run: | IP=`hostname -I | awk '{print $1}'` echo "IP=$IP" >> $GITHUB_ENV echo "OCI_ROOT_URL=http://$IP:5000" >> $GITHUB_ENV DISTRIBUTION_REF="registry:local" docker run --rm -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true -idt "registry:local" - name: Run OCI Distribution Spec conformance tests uses: opencontainers/distribution-spec@v1.0.1 env: OCI_ROOT_URL: ${{ env.OCI_ROOT_URL }} OCI_NAMESPACE: oci-conformance/distribution-test OCI_TEST_PULL: 1 OCI_TEST_PUSH: 1 OCI_TEST_CONTENT_DISCOVERY: 1 OCI_TEST_CONTENT_MANAGEMENT: 1 OCI_HIDE_SKIPPED_WORKFLOWS: 1 - name: Move test results run: mkdir -p .out/ && mv {report.html,junit.xml} .out/ - name: Upload test results uses: actions/upload-artifact@v3 with: name: oci-test-results-${{ github.sha }} path: .out/ if-no-files-found: error