mirror of
https://github.com/project-zot/zot.git
synced 2024-12-16 21:56:37 -05:00
375c35c5a1
* chore: update to go 1.22 Only go toolchain version is updated. We compile with go 1.22, but we allow others to compile using language version 1.21 if they wish to. If we also updated the go version in go.mod everyone would be forced to update, as that is enforced as a minimum allowed version. This comment explains the difference well enough https://news.ycombinator.com/item?id=36455759 Signed-off-by: Andrei Aaron <aaaron@luxoft.com> * chore: fix freeBSD AMD64 build Looks like they made some cleanup in the logic allowing buildmode pie on various platforms. Related to https://github.com/golang/go/issues/31544 See the code at: https://cs.opensource.google/go/go/+/master:src/internal/platform/supported.go;l=222-231;drc=d7fcb5cf80953f1d63246f1ae9defa60c5ce2d76;bpv=1;bpt=0 Signed-off-by: Andrei Aaron <aaaron@luxoft.com> --------- Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
66 lines
2 KiB
YAML
66 lines
2 KiB
YAML
# This is a conformance test workflow that is automatically triggered with each PR
|
|
|
|
name: conformance
|
|
|
|
# Controls when the action will run. Workflow runs when manually triggered using the UI
|
|
# or API.
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
permissions: read-all
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
run:
|
|
runs-on: ubuntu-latest
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
- name: Install go 1.22
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
cache: false
|
|
go-version: 1.22.x
|
|
- name: Checkout this PR
|
|
uses: actions/checkout@v4
|
|
- name: Start zot server
|
|
run: |
|
|
cd $GITHUB_WORKSPACE
|
|
make binary
|
|
RUNNER_TRACKING_ID="" && ./bin/zot-linux-amd64 serve examples/config-conformance.json &
|
|
IP=`hostname -I | awk '{print $1}'`
|
|
echo "SERVER_URL=http://${IP}:8080" >> $GITHUB_ENV
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
repository: opencontainers/distribution-spec
|
|
ref: main
|
|
path: distribution-spec
|
|
- name: build conformance binary from main
|
|
run: |
|
|
(cd distribution-spec/ && make conformance-binary)
|
|
mv distribution-spec/output/conformance.test .
|
|
rm -rf distribution-spec/
|
|
- name: run conformance
|
|
env:
|
|
OCI_ROOT_URL: ${{ env.SERVER_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_REFERRERS: 1
|
|
OCI_CROSSMOUNT_NAMESPACE: oci-conformance/crossmount-test
|
|
run: |
|
|
./conformance.test
|
|
- 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: github.event_name == 'push'
|