diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/codeql-analysis.yml | 72 | ||||
-rw-r--r-- | .github/workflows/test.yml | 47 |
2 files changed, 119 insertions, 0 deletions
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..ab8bfaa --- /dev/null +++ b/.github/workflows/codeql-analysis.yml | |||
@@ -0,0 +1,72 @@ | |||
1 | # For most projects, this workflow file will not need changing; you simply need | ||
2 | # to commit it to your repository. | ||
3 | # | ||
4 | # You may wish to alter this file to override the set of languages analyzed, | ||
5 | # or to provide custom queries or build logic. | ||
6 | # | ||
7 | # ******** NOTE ******** | ||
8 | # We have attempted to detect the languages in your repository. Please check | ||
9 | # the `language` matrix defined below to confirm you have the correct set of | ||
10 | # supported CodeQL languages. | ||
11 | # | ||
12 | name: "CodeQL" | ||
13 | |||
14 | on: | ||
15 | push: | ||
16 | branches: [ master ] | ||
17 | pull_request: | ||
18 | # The branches below must be a subset of the branches above | ||
19 | branches: [ master ] | ||
20 | schedule: | ||
21 | - cron: '15 18 * * 0' | ||
22 | |||
23 | jobs: | ||
24 | analyze: | ||
25 | name: Analyze | ||
26 | runs-on: ubuntu-latest | ||
27 | permissions: | ||
28 | actions: read | ||
29 | contents: read | ||
30 | security-events: write | ||
31 | |||
32 | strategy: | ||
33 | fail-fast: false | ||
34 | matrix: | ||
35 | language: [ 'cpp' ] | ||
36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] | ||
37 | # Learn more: | ||
38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed | ||
39 | |||
40 | steps: | ||
41 | - name: Checkout repository | ||
42 | uses: actions/checkout@v3 | ||
43 | |||
44 | # Initializes the CodeQL tools for scanning. | ||
45 | - name: Initialize CodeQL | ||
46 | uses: github/codeql-action/init@v2 | ||
47 | with: | ||
48 | languages: ${{ matrix.language }} | ||
49 | # If you wish to specify custom queries, you can do so here or in a config file. | ||
50 | # By default, queries listed here will override any specified in a config file. | ||
51 | # Prefix the list here with "+" to use these queries and those in the config file. | ||
52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main | ||
53 | |||
54 | - name: Install packages | ||
55 | run: | | ||
56 | sudo apt update | ||
57 | sudo apt-get install -y --no-install-recommends m4 gettext automake autoconf make build-essential | ||
58 | sudo apt-get install -y --no-install-recommends perl autotools-dev libdbi-dev libldap2-dev libpq-dev \ | ||
59 | libmysqlclient-dev libradcli-dev libkrb5-dev libdbi0-dev \ | ||
60 | libdbd-sqlite3 libssl-dev libcurl4-openssl-dev liburiparser-dev | ||
61 | |||
62 | - name: Configure build | ||
63 | run: | | ||
64 | ./tools/setup | ||
65 | ./configure --enable-libtap | ||
66 | |||
67 | - name: Build | ||
68 | run: | | ||
69 | make | ||
70 | |||
71 | - name: Perform CodeQL Analysis | ||
72 | uses: github/codeql-action/analyze@v2 | ||
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..80d49f7 --- /dev/null +++ b/.github/workflows/test.yml | |||
@@ -0,0 +1,47 @@ | |||
1 | name: Test | ||
2 | |||
3 | on: | ||
4 | push: | ||
5 | branches: | ||
6 | - '*' | ||
7 | pull_request: | ||
8 | |||
9 | jobs: | ||
10 | # macos: | ||
11 | # ... | ||
12 | linux: | ||
13 | runs-on: ubuntu-latest | ||
14 | name: Running tests on ${{ matrix.distro }} | ||
15 | strategy: | ||
16 | fail-fast: false | ||
17 | matrix: | ||
18 | distro: | ||
19 | - 'debian:testing' | ||
20 | #... | ||
21 | include: | ||
22 | - distro: 'debian:testing' | ||
23 | prepare: .github/prepare_debian.sh | ||
24 | #... | ||
25 | steps: | ||
26 | - name: Git clone repository | ||
27 | uses: actions/checkout@v3 | ||
28 | #- name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate | ||
29 | # uses: mxschmitt/action-tmate@v3 | ||
30 | - name: Run the tests on ${{ matrix.distro }} | ||
31 | run: | | ||
32 | docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 tmp-vol | ||
33 | docker run \ | ||
34 | -e NPTEST_ACCEPTDEFAULT=1 \ | ||
35 | -e NPTEST_CACHE="/src/.github/NPTest.cache" \ | ||
36 | -w /src -v ${PWD}:/src \ | ||
37 | --tmpfs /media/ramdisk1 \ | ||
38 | -v /var/run/utmp:/var/run/utmp \ | ||
39 | --mount source=tmp-vol,destination=/src,target=/media/ramdisk2 \ | ||
40 | ${{ matrix.distro }} \ | ||
41 | /bin/sh -c '${{ matrix.prepare }} && \ | ||
42 | tools/setup && \ | ||
43 | ./configure --enable-libtap --with-ipv6=no && \ | ||
44 | make && \ | ||
45 | make test' | ||
46 | docker container prune -f | ||
47 | docker volume prune -f | ||