-
Notifications
You must be signed in to change notification settings - Fork 0
138 lines (136 loc) · 3.95 KB
/
check.yml
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
name: Check
on:
pull_request: ~
push:
branches:
- main
permissions: read-all
jobs:
build:
name: Build
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Verify action checksums
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
go run ./cmd/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
- name: Build binary
run: go run tasks.go build
dogfeed:
name: Dogfeed
runs-on: ubuntu-24.04
needs:
- test
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Verify action checksums
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
go run ./cmd/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
- name: Uninitialize ghasum
run: rm -f .github/workflows/gha.sum
- name: Run on this repository
run: |
go run ./cmd/ghasum init
go run ./cmd/ghasum verify
format:
name: Format
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Verify action checksums
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
go run ./cmd/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
- name: Check source code formatting
run: go run tasks.go format-check
reproducible:
name: Reproducible build
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Verify action checksums
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
go run ./cmd/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
- name: Check reproducibility
run: go run tasks.go reproducible
test:
name: Test
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Verify action checksums
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
go run ./cmd/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
- name: Run tests
run: go run tasks.go coverage
vet:
name: Vet
runs-on: ubuntu-24.04
needs:
- build
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Verify action checksums
env:
JOB: ${{ github.job }}
WORKFLOW: ${{ github.workflow_ref }}
run: |
WORKFLOW=$(echo "$WORKFLOW" | cut -d '@' -f 1 | cut -d '/' -f 3-5)
go run ./cmd/ghasum verify -cache /home/runner/work/_actions -no-evict -offline "$WORKFLOW:$JOB"
- name: Vet source code
run: go run tasks.go vet