Skip to content

Commit ba406cd

Browse files
committed
subaction: check expected output
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
1 parent 1d0c0ff commit ba406cd

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

.github/workflows/ci-subaction.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -53,6 +59,21 @@ jobs:
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

Comments
 (0)