@@ -33,14 +33,20 @@ jobs:
3333 include :
3434 -
3535 testdir : group
36+ expected : >
37+ ["t1","t2"]
3638 -
3739 testdir : group-matrix
3840 target : validate
41+ expected : >
42+ ["lint-default","lint-labs","lint-nydus","lint-proto","lint-yaml","validate-doctoc","validate-vendor"]
3943 -
4044 testdir : multi-files
4145 files : |
4246 docker-bake.json
4347 docker-bake.hcl
48+ expected : >
49+ ["v1-tag","v2-tag"]
4450 steps :
4551 -
4652 name : Checkout
5359 workdir : ./test/${{ matrix.testdir }}
5460 files : ${{ matrix.files }}
5561 target : ${{ matrix.target }}
62+ -
63+ name : Check output
64+ uses : actions/github-script@v7
65+ env :
66+ INPUT_TARGETS : ${{ steps.gen.outputs.targets }}
67+ INPUT_EXPECTED : ${{ matrix.expected }}
68+ with :
69+ script : |
70+ const targets = JSON.stringify(JSON.parse(core.getInput('targets')));
71+ const expected = JSON.stringify(JSON.parse(core.getInput('expected')));
72+ if (targets !== expected) {
73+ throw new Error(`Targets do not match expected values: ${targets} != ${expected}`);
74+ } else {
75+ core.info(`✅`);
76+ }
5677
5778 matrix :
5879 runs-on : ubuntu-latest
@@ -62,20 +83,30 @@ jobs:
6283 include :
6384 -
6485 testdir : group
86+ expected : >
87+ [{"target":"t1"},{"target":"t2"}]
6588 -
6689 testdir : group-matrix
6790 target : validate
91+ expected : >
92+ [{"target":"lint-default"},{"target":"lint-labs"},{"target":"lint-nydus"},{"target":"lint-proto"},{"target":"lint-yaml"},{"target":"validate-doctoc"},{"target":"validate-vendor"}]
6893 -
6994 testdir : group-with-platform
7095 target : validate
96+ expected : >
97+ [{"target":"lint"},{"target":"lint-gopls"},{"target":"validate-docs"},{"target":"validate-vendor"}]
7198 -
7299 testdir : group-with-platform
73100 target : validate
74101 fields : platforms
102+ expected : >
103+ [{"target":"lint","platforms":"darwin/amd64"},{"target":"lint","platforms":"darwin/arm64"},{"target":"lint","platforms":"linux/amd64"},{"target":"lint","platforms":"linux/arm64"},{"target":"lint","platforms":"linux/s390x"},{"target":"lint","platforms":"linux/ppc64le"},{"target":"lint","platforms":"linux/riscv64"},{"target":"lint","platforms":"windows/amd64"},{"target":"lint","platforms":"windows/arm64"},{"target":"lint-gopls","platforms":"darwin/amd64"},{"target":"lint-gopls","platforms":"darwin/arm64"},{"target":"lint-gopls","platforms":"linux/amd64"},{"target":"lint-gopls","platforms":"linux/arm64"},{"target":"lint-gopls","platforms":"linux/s390x"},{"target":"lint-gopls","platforms":"linux/ppc64le"},{"target":"lint-gopls","platforms":"linux/riscv64"},{"target":"lint-gopls","platforms":"windows/amd64"},{"target":"lint-gopls","platforms":"windows/arm64"},{"target":"validate-docs"},{"target":"validate-vendor"}]
75104 -
76105 testdir : group-with-platform
77106 target : validate
78107 fields : platforms,dockerfile
108+ expected : >
109+ [{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"darwin/amd64"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"darwin/arm64"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/amd64"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/arm64"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/s390x"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/ppc64le"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/riscv64"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"windows/amd64"},{"target":"lint","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"windows/arm64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"darwin/amd64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"darwin/arm64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/amd64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/arm64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/s390x"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/ppc64le"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"linux/riscv64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"windows/amd64"},{"target":"lint-gopls","dockerfile":"./hack/dockerfiles/lint.Dockerfile","platforms":"windows/arm64"},{"target":"validate-docs","dockerfile":"./hack/dockerfiles/docs.Dockerfile"},{"target":"validate-vendor","dockerfile":"./hack/dockerfiles/vendor.Dockerfile"}]
79110 steps :
80111 -
81112 name : Checkout
@@ -88,3 +119,18 @@ jobs:
88119 workdir : ./test/${{ matrix.testdir }}
89120 target : ${{ matrix.target }}
90121 fields : ${{ matrix.fields }}
122+ -
123+ name : Check output
124+ uses : actions/github-script@v7
125+ env :
126+ INPUT_MATRIX : ${{ steps.gen.outputs.matrix }}
127+ INPUT_EXPECTED : ${{ matrix.expected }}
128+ with :
129+ script : |
130+ const matrix = JSON.stringify(JSON.parse(core.getInput('matrix')));
131+ const expected = JSON.stringify(JSON.parse(core.getInput('expected')));
132+ if (matrix !== expected) {
133+ throw new Error(`Matrix do not match expected values: ${matrix} != ${expected}`);
134+ } else {
135+ core.info(`✅`);
136+ }
0 commit comments