Repository navigation
47 lines (43 loc) · 1.64 KB
/
Copy pathnightly-fuzz.yml
File metadata and controls
47 lines (43 loc) · 1.64 KB
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
name: Nightly fuzz
# Reusable fuzz run for the byte-level parsers (dicom Part 10, mllp framing).
# Caller (each byte parser's .github/workflows/nightly-fuzz.yml):
# on:
# schedule: [{ cron: "0 6 * * *" }]
# workflow_dispatch: {}
# jobs:
# fuzz:
# uses: cosyte/.github/.github/workflows/nightly-fuzz.yml@workflows-YYYY-MM-DD-COMMIT
# Arbitrary/malformed bytes must never crash, hang, or OOM: they degrade to a typed error or warning.
#
# ▶ NAME A PUBLISHED REFERENCE, NOT `@main`. A reference at the default branch delivers every later
# change made here on THIS repository's clock rather than yours, reviewed by nobody in your
# repository; a published reference names one commit and never moves. Take the newest from
# https://github.com/cosyte/.github/releases, whose notes say what adopting it asks of a caller.
# README.md, "The published reference", owns the rest.
on:
workflow_call:
inputs:
fuzz-cmd:
description: "The fuzz command to run."
type: string
default: "pnpm fuzz"
node-version:
type: string
default: "22"
permissions:
contents: read
jobs:
fuzz:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ inputs.node-version }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Fuzz
env:
FUZZ_CMD: ${{ inputs.fuzz-cmd }}
run: bash -c "$FUZZ_CMD"