xref: /freebsd/contrib/libfido2/.github/workflows/linux_fuzz.yml (revision 60a517b66a69b8c011b04063ef63a938738719bd)
1*60a517b6SEd Maste# Copyright (c) 2022 Yubico AB. All rights reserved.
2*60a517b6SEd Maste# Use of this source code is governed by a BSD-style
3*60a517b6SEd Maste# license that can be found in the LICENSE file.
4*60a517b6SEd Maste# SPDX-License-Identifier: BSD-2-Clause
5*60a517b6SEd Maste
6*60a517b6SEd Mastename: fuzzer
7*60a517b6SEd Maste
8*60a517b6SEd Masteon:
9*60a517b6SEd Maste  pull_request:
10*60a517b6SEd Maste    branches:
11*60a517b6SEd Maste    - main
12*60a517b6SEd Maste  push:
13*60a517b6SEd Maste    branches:
14*60a517b6SEd Maste    - main
15*60a517b6SEd Maste    - '*-ci'
16*60a517b6SEd Maste
17*60a517b6SEd Mastejobs:
18*60a517b6SEd Maste  build:
19*60a517b6SEd Maste    runs-on: ${{ matrix.os }}
20*60a517b6SEd Maste    strategy:
21*60a517b6SEd Maste      fail-fast: false
22*60a517b6SEd Maste      matrix:
23*60a517b6SEd Maste        os: [ ubuntu-22.04 ]
24*60a517b6SEd Maste        cc: [ clang-16 ]
25*60a517b6SEd Maste        sanitizer: [ asan, msan ]
26*60a517b6SEd Maste    steps:
27*60a517b6SEd Maste    - uses: actions/checkout@v4
28*60a517b6SEd Maste    - name: dependencies
29*60a517b6SEd Maste      run: |
30*60a517b6SEd Maste        sudo apt -q update
31*60a517b6SEd Maste        sudo apt install -q -y libudev-dev libpcsclite-dev
32*60a517b6SEd Maste    - name: compiler
33*60a517b6SEd Maste      env:
34*60a517b6SEd Maste        CC: ${{ matrix.cc }}
35*60a517b6SEd Maste      run: |
36*60a517b6SEd Maste        sudo ./.actions/setup_clang "${CC}"
37*60a517b6SEd Maste    - name: fuzz
38*60a517b6SEd Maste      env:
39*60a517b6SEd Maste        CC: ${{ matrix.cc }}
40*60a517b6SEd Maste        SANITIZER: ${{ matrix.sanitizer }}
41*60a517b6SEd Maste      run: ./.actions/fuzz-linux "${SANITIZER}"
42