Skip to content

docs: update reproduction instructions #14566

docs: update reproduction instructions

docs: update reproduction instructions #14566

Workflow file for this run

# 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
# https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
aux:
runs-on: ubuntu-latest
container: gcr.io/syzkaller/env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
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: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh make presubmit_aux
build:
runs-on: arc-runner-set
container: gcr.io/syzkaller/env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
GITHUB_ACTIONS: true
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- id: get-date
run: echo "date=$(/bin/date -u "+%Y%m%d+%T")" >> $GITHUB_OUTPUT
shell: bash
- name: test build cache
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
path: /root/.cache
key: ${{ runner.os }}-go-test-build-${{ steps.get-date.outputs.date }} #always miss and upload fresh item
restore-keys: ${{ runner.os }}-go-test-build- #read the freshest available after miss
- name: run
run: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh make presubmit_build
- name: codecov
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
with:
codecov_yml_path: ${{env.GOPATH}}/src/github.com/google/syzkaller/.github/codecov.yml
file: ${{env.GOPATH}}/src/github.com/google/syzkaller/.coverage.txt
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
dashboard:
runs-on: arc-runner-set
container: gcr.io/syzkaller/env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
GITHUB_ACTIONS: true
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: run
run: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh timeout --signal=SIGINT 15m make presubmit_dashboard
- name: codecov
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
with:
codecov_yml_path: ${{env.GOPATH}}/src/github.com/google/syzkaller/.github/codecov.yml
file: ${{env.GOPATH}}/src/github.com/google/syzkaller/.coverage.txt
flags: dashboard
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
arch:
runs-on: ubuntu-latest
container: gcr.io/syzkaller/env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
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: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh make ${{ matrix.target }}
race:
runs-on: arc-runner-set
timeout-minutes: 15 # Q1 2024 experiments may affect timeout, let's relax it
container: gcr.io/syzkaller/env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
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: /root/.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: run
run: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh make presubmit_race
race_dashboard:
runs-on: arc-runner-set
container: gcr.io/syzkaller/env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: run
run: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh make presubmit_race_dashboard
old:
runs-on: ubuntu-latest
container: gcr.io/syzkaller/old-env:latest
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: run
run: |
cd gopath/src/github.com/google/syzkaller
.github/workflows/run.sh make presubmit_old
gvisor:
runs-on: ubuntu-latest
container:
image: gcr.io/syzkaller/syzbot:latest
options: --privileged
env:
GOPATH: /__w/syzkaller/syzkaller/gopath
CI: true
TERM: dumb
GITHUB_ACTIONS: true
steps:
- name: checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: gopath/src/github.com/google/syzkaller
- name: run
run: |
cd gopath/src/github.com/google/syzkaller
make
.github/workflows/run.sh bash -xe tools/gvisor-smoke-test.sh