name: Fuzzing on: [pull_request] permissions: # added using https://github.com/step-security/secure-workflows contents: read jobs: # Run all fuzzing tests. Some of them use Go 1.18's testing.F. # Others use https://github.com/AdaLogics/go-fuzz-headers. ci_fuzz: name: CI Fuzz if: github.repository == 'containerd/containerd' runs-on: ubuntu-latest timeout-minutes: 60 steps: - name: Build Fuzzers id: build uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@abe2c06d0e162320403dd10e8268adbb0b8923f8 # master with: oss-fuzz-project-name: 'containerd' language: go - name: Run Fuzzers uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@abe2c06d0e162320403dd10e8268adbb0b8923f8 # master with: oss-fuzz-project-name: 'containerd' fuzz-seconds: 300 language: go continue-on-error: true - name: Upload Crash uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 if: failure() && steps.build.outcome == 'success' with: name: artifacts path: ./out/artifacts # Make sure all fuzzing tests which use Go 1.18's testing.F are # runnable with go test -fuzz. go_test_fuzz: name : go test -fuzz if: github.repository == 'containerd/containerd' runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./.github/actions/install-go - run: script/go-test-fuzz.sh