File: fuzz.yml

package info (click to toggle)
boost1.90 1.90.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 593,156 kB
  • sloc: cpp: 4,190,642; xml: 196,648; python: 34,618; ansic: 23,145; asm: 5,468; sh: 3,776; makefile: 1,161; perl: 1,020; sql: 728; ruby: 676; yacc: 478; java: 77; lisp: 24; csh: 6
file content (66 lines) | stat: -rw-r--r-- 2,061 bytes parent folder | download | duplicates (4)
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
name: fuzz

on:
  push:
  pull_request:
  workflow_dispatch:
  schedule:
    - cron: "25 00 * * *"

concurrency:
  group: ${{format('{0}:{1}:{2}', github.repository, github.workflow, github.ref)}}
  cancel-in-progress: true

jobs:
  fuzz:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v3

      - name: Install packages
        run: |
          sudo apt-get update
          sudo apt-get install -y clang

      - name: Setup Boost
        run: |
          echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
          LIBRARY=${GITHUB_REPOSITORY#*/}
          echo LIBRARY: $LIBRARY
          echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
          echo GITHUB_BASE_REF: $GITHUB_BASE_REF
          echo GITHUB_REF: $GITHUB_REF
          REF=${GITHUB_BASE_REF:-$GITHUB_REF}
          REF=${REF#refs/heads/}
          echo REF: $REF
          BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
          echo BOOST_BRANCH: $BOOST_BRANCH
          cd ..
          git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
          cd boost-root
          cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
          git submodule update --init tools/boostdep
          python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
  
      - name: Fuzz corpus
        uses: actions/cache@v4
        id: cache-corpus
        with:
          path: ${{ github.workspace }}/corpus.tar
          key: corpus-${{ github.run_id }}
          enableCrossOsArchive: true
          restore-keys: |
            corpus-

      - name: Run fuzzer
        run: |
          cd ../boost-root/libs/beast
          mkdir __build__ && cd __build__
          cmake \
            -DCMAKE_CXX_COMPILER=clang++ \
            -DCMAKE_C_COMPILER=clang \
            -DBOOST_BEAST_BUILD_EXAMPLES=OFF \
            -DBOOST_BEAST_BUILD_TESTS=ON \
            -DBOOST_BEAST_BUILD_FUZZERS=ON \
            -DBOOST_BEAST_FUZZER_CORPUS_PATH=${{ github.workspace }}/corpus.tar ..
          cmake --build . --target boost_beast_fuzz_all