diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml new file mode 100644 index 000000000..ba4fdc92c --- /dev/null +++ b/.github/workflows/conformance.yml @@ -0,0 +1,40 @@ +name: conformance + +on: + pull_request: + push: + +jobs: + run: + runs-on: ubuntu-latest + steps: + - name: set up docker + uses: docker-practice/actions-setup-docker@0.0.1 + with: + docker_version: 18.09 + docker_channel: stable + + - uses: actions/checkout@v2 + with: + path: src/github.com/distribution/distribution + + - name: start distribution server + working-directory: ./src/github.com/distribution/distribution + run: | + IP=`hostname -I | awk '{print $1}'` + echo "IP=$IP" >> $GITHUB_ENV + echo "OCI_ROOT_URL=http://$IP:5000" >> $GITHUB_ENV + DISTRIBUTION_REF="local-distribution:v$(date +%Y%m%d%H%M%S)" + docker build -f ./Dockerfile -t "${DISTRIBUTION_REF}" . + docker run --rm -p 5000:5000 -idt "${DISTRIBUTION_REF}" + + - name: Run OCI Distribution Spec conformance tests + uses: opencontainers/distribution-spec@main + 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 \ No newline at end of file diff --git a/README.md b/README.md index 0c7933fc5..fcc1eea05 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ Project, and VMware Harbor Registry. [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) [![codecov](https://codecov.io/gh/distribution/distribution/branch/main/graph/badge.svg)](https://codecov.io/gh/distribution/distribution) [![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fdistribution%2Fdistribution.svg?type=shield)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fdistribution%2Fdistribution?ref=badge_shield) +[![Conformance_Status](https://github.com/distribution/distribution/workflows/CONFORMANCE/badge.svg?branch=main&event=push)](https://github.com/distribution/distribution/actions?query=workflow%3Aconformance) This repository contains the following components: