aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/pull_request.yml
blob: 87273b55c38a0afbe0b6fc7267662e3a801572f7 (plain)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
name: pull_request
on: pull_request
jobs:
  ubuntu-20:
    timeout-minutes: 10
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          sudo apt-get update
          sudo apt-get -y install libjson-c-dev libcmocka-dev clang \
            clang-tools valgrind python3-pytest debianutils flake8 meson \
            ninja-build
          ./.github/workflows/pull_request.sh
  ubuntu-22:
    timeout-minutes: 10
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          sudo apt-get update
          sudo apt-get -y install libjson-c-dev libcmocka-dev clang \
            clang-tools valgrind python3-pytest debianutils flake8 meson \
            ninja-build
          ./.github/workflows/pull_request.sh
  centos-7:
    timeout-minutes: 10
    runs-on: ubuntu-latest
    container: centos:7
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          # NB: no working flake8
          yum -y install make gcc-4.8.5 epel-release pciutils
          yum -y install clang clang-analyzer json-c-devel libcmocka-devel \
              valgrind python36-pytest which ninja-build meson
          ./.github/workflows/pull_request.sh
  fedora-35:
    timeout-minutes: 10
    runs-on: ubuntu-latest
    container: fedora:35
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          dnf -y install --releasever=35 \
              gcc make clang clang-analyzer json-c-devel libcmocka-devel pciutils \
              diffutils valgrind python3-pytest python3-flake8 which \
              meson ninja-build
          ./.github/workflows/pull_request.sh
  debian-11:
    timeout-minutes: 10
    runs-on: ubuntu-20.04
    container: debian:11
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          apt-get update
          apt-get -y install build-essential cmake pkg-config libjson-c-dev \
            libcmocka-dev clang clang-tools valgrind python3-pytest \
            debianutils flake8 meson ninja-build
          ./.github/workflows/pull_request.sh
  debian-12:
    timeout-minutes: 10
    runs-on: ubuntu-22.04
    container: debian:12
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          apt-get update
          apt-get -y install build-essential cmake pkg-config libjson-c-dev \
            libcmocka-dev clang clang-tools valgrind python3-pytest \
            debianutils flake8 meson ninja-build
          ./.github/workflows/pull_request.sh
  arch-202307:
    timeout-minutes: 10
    runs-on: ubuntu-latest
    container: archlinux:base-20230723.0.166908
    steps:
      - uses: actions/checkout@v3
      - name: pre-push
        run: |
          # clang expects a newer glibc
          pacman -Sy --noconfirm \
            base-devel glibc clang json-c cmocka pciutils diffutils valgrind \
            python-pytest flake8 meson ninja
          # this fixes debuginfod not automatically updating the url
          export DEBUGINFOD_URLS="https://debuginfod.archlinux.org"
          ./.github/workflows/pull_request.sh
  spelling:
    runs-on: ubuntu-latest
    container: vlajos/misspell-fixer
    steps:
      - uses: actions/checkout@v3
      - name: run misspell-fixer
        run: /misspell-fixer/misspell-fixer -sv .