blob: aba018f0680ea1eca436505196209d29c6630d4c (
plain)
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
|
# Copyright 2020 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
# GitHub workflow reference:
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: ci
on: [push, pull_request]
permissions:
contents: read
jobs:
aux:
runs-on: ubuntu-latest
steps:
# Checks out syzkaller repo at the path.
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
# This is needed for tools/check-commits.sh
fetch-depth: 100
# Run make presubmit_aux.
- name: run
env:
GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
GITHUB_PR_BASE_SHA: ${{ github.event.pull_request.base.sha }}
GITHUB_PR_COMMITS: ${{ github.event.pull_request.commits }}
run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env make presubmit_aux
build:
runs-on: ubuntu-20.04-32core
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
# https://github.com/golang/go/issues/23565 asks to cache -coverprofile results since 2018.
- id: get-date
run: echo "date=$(/bin/date -u "+%Y%m%d+%T")" >> $GITHUB_OUTPUT
shell: bash
- name: go build cache
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: .cache
key: ${{ runner.os }}-go-build-${{ steps.get-date.outputs.date }} #always miss and upload fresh item
restore-keys: ${{ runner.os }}-go-build- #read the freshest available after miss
- name: pull syz-env
run: docker pull gcr.io/syzkaller/env:latest
- name: run
run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env make presubmit_build
# Upload coverage report to codecov.io. For reference see:
# https://github.com/codecov/codecov-action/blob/master/README.md
- name: codecov
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
files: gopath/src/github.com/google/syzkaller/.coverage.txt
flags: unittests
dashboard:
runs-on: ubuntu-20.04-32core
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: pull syz-env
run: docker pull gcr.io/syzkaller/env:latest
- name: run
run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env timeout --signal=SIGINT 15m make presubmit_dashboard
- name: codecov
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
files: gopath/src/github.com/google/syzkaller/.coverage.txt
flags: dashboard
arch:
runs-on: ubuntu-latest
strategy:
matrix:
target: [presubmit_arch_linux, presubmit_arch_freebsd, presubmit_arch_netbsd, presubmit_arch_openbsd, presubmit_arch_darwin, presubmit_arch_windows, presubmit_arch_executor]
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: run
run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env make ${{ matrix.target }}
race:
runs-on: ubuntu-20.04-32core
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
# https://github.com/golang/go/issues/61608 to cache -race results.
- id: get-date
run: echo "date=$(/bin/date -u "+%Y%m%d+%T")" >> $GITHUB_OUTPUT
shell: bash
- name: test race cache
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: .cache
key: ${{ runner.os }}-go-test-race-${{ steps.get-date.outputs.date }} #always miss and upload fresh item
restore-keys: ${{ runner.os }}-go-test-race- #read the freshest available after miss
- name: pull syz-env
run: docker pull gcr.io/syzkaller/env:latest
- name: run
run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-env make presubmit_race
old:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: run
run: gopath/src/github.com/google/syzkaller/.github/workflows/run.sh syz-old-env make presubmit_old
|