aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/pr-ci.yml
blob: ccaaf7231e42952477ea5861b277b51dcf10e987 (plain) (blame)
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
---
name: 'Build & Test'
on:
  push:
    branches:
      - master
      - '[0-9]+.[0-9]+'  # This will match branches like 3.17, 3.18, 4.0, etc.
  pull_request:
    branches:
      - master
      - '[0-9]+.[0-9]+'

permissions:
  contents: read

jobs:
  build:
    runs-on: '${{ matrix.os }}'
    strategy:
      matrix:
        os:
          # 18.04 does not work because of ‘no_sanitize’ attribute
          # cc1: all warnings being treated as errors
          # - ubuntu-18.04
          - ubuntu-latest
    steps:
      - name: Install dependencies (Ubuntu)
        if: runner.os == 'Linux'
        run: |
          sudo dpkg --add-architecture i386
          sudo apt-get update
          sudo apt-get install -y clang doxygen gcc gcc-10 gcc-9 valgrind \
            gcc-multilib g++-multilib libc6-dev-i386 \
            libpcap0.8-dev:i386 libudev-dev:i386 pkg-config:i386
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'
      - run: pip install -r requirements.txt
      - run: test/ci-build.sh