1name: Test after code changes
2on:
3  workflow_dispatch:
4  push:
5    paths:
6      - '**.c'
7      - '**.h'
8      - '**.py'
9      - '**.sh'
10      - '**.yml'
11      - '**.proto'
12      - '**.mk'
13      - '**.cmake'
14  pull_request:
15    paths:
16      - '**.c'
17      - '**.h'
18      - '**.py'
19      - '**.sh'
20      - '**.yml'
21      - '**.proto'
22      - '**.mk'
23      - '**.cmake'
24
25jobs:
26  smoke_test:
27    name: Run test suite on Ubuntu 20.04
28    runs-on: ubuntu-20.04
29
30    steps:
31      - name: Check out code from GitHub
32        uses: actions/checkout@v2
33        with:
34          path: nanopb
35
36      - name: Install dependencies
37        run: |
38          sudo apt-get update
39          sudo apt-get install python3-protobuf protobuf-compiler scons splint valgrind
40
41      - name: Run tests
42        run: |
43          cd nanopb/tests
44          scons
45
46  fuzz_tests:
47    needs: smoke_test
48    uses: ./.github/workflows/cifuzz.yml
49
50  binary_builds:
51    needs: smoke_test
52    uses: ./.github/workflows/binary_packages.yml
53
54