-
Notifications
You must be signed in to change notification settings - Fork 10
/
workflows.cue
78 lines (73 loc) · 1.21 KB
/
workflows.cue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package action
import "json.schemastore.org/github"
workflows: [...{
filename: string
workflow: github.#Workflow
}]
workflows: [
{
filename: "build-and-test.yml"
workflow: buildAndTest
},
]
buildAndTest: github.#Workflow & {
name: "build and test"
on: {
pull_request: types: [
"opened",
"synchronize",
]
push: branches: [
"main",
]
}
jobs: build: {
"runs-on": "ubuntu-latest"
steps: [
{
name: "Checkout"
uses: "actions/checkout@v4"
},
{
name: "Use node.js 20.x"
uses: "actions/setup-node@v4"
with: "node-version": 20
},
{
name: "Use CUE"
uses: "./"
with: version: "v0.7.1"
},
{
name: "Check CUE version"
run: "cue version"
},
{
name: "Run tests"
run: """
npm ci
"""
},
{
name: "Build"
run: "npm run dist"
},
{
name: "Re-vendor GitHub schemas"
run: "cue cmd vendorgithubschema"
},
{
name: "Re-gen GitHub Action schema"
run: "cue cmd genaction"
},
{
name: "Re-gen GitHub Actions workflows"
run: "cue cmd genworkflows"
},
{
name: "Check commit clean"
run: "test -z \"$(git status --porcelain)\" || (git status; git diff; false)"
},
]
}
}