@@ -10,44 +10,17 @@ jobs:
1010 permissions :
1111 contents : read
1212 steps :
13- - uses : actions/checkout@v6
14- - uses : actions/setup-go@v6
13+ - uses : actions/checkout@v4
14+ - uses : actions/setup-go@v5
1515 with :
1616 go-version-file : go.mod
17+ - name : Configure git for private modules
18+ run : git config --global url."https://${{ secrets.RELEASES_TOKEN }}@github.com/".insteadOf "https://github.com/"
1719 - run : go build ./...
18- - run : go test ./... -v -race -count=1
1920 env :
2021 GOPRIVATE : github.com/GoCodeAlone/*
2122 GONOSUMCHECK : github.com/GoCodeAlone/*
22-
23- strict-contracts :
24- name : Validate strict plugin contracts
25- runs-on : ubuntu-latest
26- permissions :
27- contents : read
28- steps :
29- - uses : actions/checkout@v6
30- - name : Verify plugin.json exists
31- run : |
32- test -f plugin.json || { echo "ERROR: plugin.json is missing — every release must include a strict contract manifest"; exit 1; }
33- - uses : actions/setup-go@v6
34- with :
35- go-version-file : go.mod
36- - name : Run strict contract tests
37- run : |
38- go test ./internal/... -run "TestPluginStepSchemasJSON|TestPluginManifestEngineValidation|TestModuleSchemas" -v -count=1
39- env :
40- GOPRIVATE : github.com/GoCodeAlone/*
41- GONOSUMCHECK : github.com/GoCodeAlone/*
42- - name : Validate plugin.json with wfctl
43- run : |
44- # wfctl validates registry-format manifests; strict contract schema coverage is enforced
45- # by the Go tests above. This step runs informational validation and logs the result.
46- set +e
47- go run github.com/GoCodeAlone/workflow/cmd/wfctl@v0.3.56 plugin validate --file plugin.json 2>&1
48- wfctl_exit=$?
49- set -e
50- echo "wfctl validation exit code: ${wfctl_exit}"
23+ - run : go test ./... -v -race -count=1
5124 env :
5225 GOPRIVATE : github.com/GoCodeAlone/*
5326 GONOSUMCHECK : github.com/GoCodeAlone/*
0 commit comments