mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
ci(test): validate job matrix
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
924edb948c
commit
a73d78f8d5
2 changed files with 73 additions and 1 deletions
69
.github/workflows/test.yml
vendored
69
.github/workflows/test.yml
vendored
|
@ -55,10 +55,75 @@ jobs:
|
||||||
*.cache-to=type=gha,scope=dev${{ matrix.mode }},mode=max
|
*.cache-to=type=gha,scope=dev${{ matrix.mode }},mode=max
|
||||||
*.output=type=cacheonly
|
*.output=type=cacheonly
|
||||||
|
|
||||||
|
validate:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
needs:
|
||||||
|
- build-dev
|
||||||
|
strategy:
|
||||||
|
fail-fast: true
|
||||||
|
matrix:
|
||||||
|
script:
|
||||||
|
- dco
|
||||||
|
- default-seccomp
|
||||||
|
- pkg-imports
|
||||||
|
- yamllint
|
||||||
|
- swagger
|
||||||
|
- swagger-gen
|
||||||
|
- toml
|
||||||
|
- changelog-well-formed
|
||||||
|
- changelog-date-descending
|
||||||
|
- golangci-lint
|
||||||
|
- shfmt
|
||||||
|
- vendor
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
-
|
||||||
|
name: Dump context
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
console.log(JSON.stringify(context, null, 2));
|
||||||
|
-
|
||||||
|
name: Get base ref
|
||||||
|
id: base-ref
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
result-encoding: string
|
||||||
|
script: |
|
||||||
|
if (/^refs\/pull\//.test(context.ref) && context.payload?.pull_request?.base?.ref != undefined) {
|
||||||
|
return context.payload.pull_request.base.ref;
|
||||||
|
}
|
||||||
|
return context.ref.replace(/^refs\/heads\//g, '');
|
||||||
|
-
|
||||||
|
name: Set up runner
|
||||||
|
uses: ./.github/actions/setup-runner
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2
|
||||||
|
-
|
||||||
|
name: Build dev image
|
||||||
|
uses: docker/bake-action@v2
|
||||||
|
with:
|
||||||
|
targets: dev
|
||||||
|
set: |
|
||||||
|
dev.cache-from=type=gha,scope=dev
|
||||||
|
-
|
||||||
|
name: Validate
|
||||||
|
run: |
|
||||||
|
make -o build validate-${{ matrix.script }}
|
||||||
|
env:
|
||||||
|
VALIDATE_REPO: ${{ github.server_url }}/${{ github.repository }}.git
|
||||||
|
VALIDATE_BRANCH: ${{ steps.base-ref.outputs.result }}
|
||||||
|
|
||||||
unit:
|
unit:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
needs:
|
needs:
|
||||||
- build-dev
|
- build-dev
|
||||||
|
- validate
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
|
@ -108,6 +173,7 @@ jobs:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
needs:
|
needs:
|
||||||
- build-dev
|
- build-dev
|
||||||
|
- validate
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
|
@ -155,6 +221,7 @@ jobs:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
needs:
|
needs:
|
||||||
- build-dev
|
- build-dev
|
||||||
|
- validate
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
|
@ -183,6 +250,7 @@ jobs:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
needs:
|
needs:
|
||||||
- build-dev
|
- build-dev
|
||||||
|
- validate
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -299,6 +367,7 @@ jobs:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
needs:
|
needs:
|
||||||
- build-dev
|
- build-dev
|
||||||
|
- validate
|
||||||
- integration-cli-prepare
|
- integration-cli-prepare
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
5
Makefile
5
Makefile
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: all binary dynbinary build cross help install manpages run shell test test-docker-py test-integration test-unit validate win
|
.PHONY: all binary dynbinary build cross help install manpages run shell test test-docker-py test-integration test-unit validate validate-% win
|
||||||
|
|
||||||
BUILDX_VERSION ?= v0.9.1
|
BUILDX_VERSION ?= v0.9.1
|
||||||
|
|
||||||
|
@ -247,6 +247,9 @@ test-unit: build ## run the unit tests
|
||||||
validate: build ## validate DCO, Seccomp profile generation, gofmt,\n./pkg/ isolation, golint, tests, tomls, go vet and vendor
|
validate: build ## validate DCO, Seccomp profile generation, gofmt,\n./pkg/ isolation, golint, tests, tomls, go vet and vendor
|
||||||
$(DOCKER_RUN_DOCKER) hack/validate/all
|
$(DOCKER_RUN_DOCKER) hack/validate/all
|
||||||
|
|
||||||
|
validate-%: build ## validate specific check
|
||||||
|
$(DOCKER_RUN_DOCKER) hack/validate/$*
|
||||||
|
|
||||||
win: build ## cross build the binary for windows
|
win: build ## cross build the binary for windows
|
||||||
$(DOCKER_RUN_DOCKER) DOCKER_CROSSPLATFORMS=windows/amd64 hack/make.sh cross
|
$(DOCKER_RUN_DOCKER) DOCKER_CROSSPLATFORMS=windows/amd64 hack/make.sh cross
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue