summaryrefslogtreecommitdiffstats
path: root/.github/workflows/test.yml
blob: 11823aee3804c57f0b3fc23331afb9c8f156c9f0 (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
name: Test

on:
  push:
    branches:
      - '*'
  pull_request:

jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Install gettext
      run: sudo apt-get install gettext
    - name: setup
      run: ./tools/setup
    - name: CFLAGS="-Wall -Wextra -std=c90" configure
      run: ./configure
    - name: make
      run: make

  codespell:
    name: codespell
    strategy:
      fail-fast: false
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Codespell
        uses: codespell-project/actions-codespell@master
        with:
          skip: "./.git,./.gitignore,./ABOUT-NLS,*.po,./gl,./po,./tools/squid.conf,./build-aux/ltmain.sh"
          ignore_words_list: allright,gord,didi,hda,nd,alis,clen,scrit,ser,fot,te,parm,isnt,consol,oneliners
          check_filenames: true
          check_hidden: true
#  super-linter:
#    name: super-linter
#    strategy:
#      fail-fast: false
#    runs-on: ubuntu-latest
#    steps:
#      - name: Checkout
#        uses: actions/checkout@v3
#      - name: Lint Code Base
#        uses: github/super-linter@v5.0.0
#        env:
#          DEFAULT_BRANCH: master
#          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#  macos:
#    ...
  linux:
    needs:
      - build-test
      - codespell
#      - super-linter
    runs-on: ubuntu-latest
    name: Running tests on ${{ matrix.distro }}
    strategy:
      fail-fast: false
      matrix:
        distro:
          - 'debian:testing'
          #...
        include:
          - distro: 'debian:testing'
            prepare: .github/prepare_debian.sh
          #...
    steps:
      - name: Git clone repository
        uses: actions/checkout@v3
      #- name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate
      #  uses: mxschmitt/action-tmate@v3
      - name: Run the tests on ${{ matrix.distro }}
        run: |
          docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 tmp-vol
          docker run \
              -e NPTEST_ACCEPTDEFAULT=1 \
              -e NPTEST_CACHE="/src/.github/NPTest.cache" \
              -w /src -v ${PWD}:/src \
              --tmpfs /media/ramdisk1 \
              -v /var/run/utmp:/var/run/utmp \
              --mount source=tmp-vol,destination=/src,target=/media/ramdisk2 \
              ${{ matrix.distro }} \
              /bin/sh -c '${{ matrix.prepare }} && \
                tools/setup && \
                ./configure --enable-libtap  --with-ipv6=no && \
                make && \
                make test'
          docker container prune -f
          docker volume prune -f