summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/codeql-analysis.yml73
-rw-r--r--.github/workflows/test.yml41
2 files changed, 112 insertions, 2 deletions
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000..0317c8c
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,73 @@
1---
2# For most projects, this workflow file will not need changing; you simply need
3# to commit it to your repository.
4#
5# You may wish to alter this file to override the set of languages analyzed,
6# or to provide custom queries or build logic.
7#
8# ******** NOTE ********
9# We have attempted to detect the languages in your repository. Please check
10# the `language` matrix defined below to confirm you have the correct set of
11# supported CodeQL languages.
12#
13name: "CodeQL"
14
15on:
16 push:
17 branches: [master]
18 pull_request:
19 # The branches below must be a subset of the branches above
20 branches: [master]
21 schedule:
22 - cron: '15 18 * * 0'
23
24jobs:
25 analyze:
26 name: Analyze
27 runs-on: ubuntu-latest
28 permissions:
29 actions: read
30 contents: read
31 security-events: write
32
33 strategy:
34 fail-fast: false
35 matrix:
36 language: ['cpp']
37 # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
38 # Learn more:
39 # 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
40
41 steps:
42 - name: Checkout repository
43 uses: actions/checkout@v4
44
45 # Initializes the CodeQL tools for scanning.
46 - name: Initialize CodeQL
47 uses: github/codeql-action/init@v2
48 with:
49 languages: ${{ matrix.language }}
50 # If you wish to specify custom queries, you can do so here or in a config file.
51 # By default, queries listed here will override any specified in a config file.
52 # Prefix the list here with "+" to use these queries and those in the config file.
53 # queries: ./path/to/local/query, your-org/your-repo/queries@main
54
55 - name: Install packages
56 run: |
57 sudo apt update
58 sudo apt-get install -y --no-install-recommends m4 gettext automake autoconf make build-essential
59 sudo apt-get install -y --no-install-recommends perl autotools-dev libdbi-dev libldap2-dev libpq-dev \
60 libmysqlclient-dev libradcli-dev libkrb5-dev libdbi0-dev \
61 libdbd-sqlite3 libssl-dev libcurl4-openssl-dev liburiparser-dev
62
63 - name: Configure build
64 run: |
65 ./tools/setup
66 ./configure --enable-libtap
67
68 - name: Build
69 run: |
70 make
71
72 - name: Perform CodeQL Analysis
73 uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 0f93930..77b09f4 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,15 +1,48 @@
1---
1name: Test 2name: Test
2 3
3on: 4on:
4 push: 5 push:
5 branches: 6 branches:
6 - '*' 7 - '*'
8 # Run test for any PRs
7 pull_request: 9 pull_request:
8 10
9jobs: 11jobs:
12 codespell:
13 name: codespell
14 strategy:
15 fail-fast: false
16 runs-on: ubuntu-latest
17 steps:
18 - name: Checkout
19 uses: actions/checkout@v4
20 - name: Codespell
21 uses: codespell-project/actions-codespell@v2
22 with:
23 skip: "./.git,./.gitignore,./ABOUT-NLS,*.po,./gl,./po,./tools/squid.conf,./build-aux/ltmain.sh"
24 ignore_words_list: allright,gord,didi,hda,nd,alis,clen,scrit,ser,fot,te,parm,isnt,consol,oneliners
25 check_filenames: true
26 check_hidden: true
27# super-linter:
28# name: super-linter
29# strategy:
30# fail-fast: false
31# runs-on: ubuntu-latest
32# steps:
33# - name: Checkout
34# uses: actions/checkout@v4
35# - name: Lint Code Base
36# uses: github/super-linter@v5.0.0
37# env:
38# DEFAULT_BRANCH: master
39# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
10# macos: 40# macos:
11# ... 41# ...
12 linux: 42 linux:
43 needs:
44 - codespell
45# - super-linter
13 runs-on: ubuntu-latest 46 runs-on: ubuntu-latest
14 name: Running tests on ${{ matrix.distro }} 47 name: Running tests on ${{ matrix.distro }}
15 strategy: 48 strategy:
@@ -24,7 +57,7 @@ jobs:
24 #... 57 #...
25 steps: 58 steps:
26 - name: Git clone repository 59 - name: Git clone repository
27 uses: actions/checkout@v2 60 uses: actions/checkout@v4
28 #- name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate 61 #- name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate
29 # uses: mxschmitt/action-tmate@v3 62 # uses: mxschmitt/action-tmate@v3
30 - name: Run the tests on ${{ matrix.distro }} 63 - name: Run the tests on ${{ matrix.distro }}
@@ -40,7 +73,11 @@ jobs:
40 ${{ matrix.distro }} \ 73 ${{ matrix.distro }} \
41 /bin/sh -c '${{ matrix.prepare }} && \ 74 /bin/sh -c '${{ matrix.prepare }} && \
42 tools/setup && \ 75 tools/setup && \
43 ./configure --enable-libtap --with-ipv6=no && \ 76 ./configure --enable-libtap --with-ipv6=no && \
77 set -x && \
78 tmp_dir=$(mktemp -d -t test-XXXX) && cp -a po/ $tmp_dir/ && \
79 cd po && make update-po && cd .. && \
80 diff -Nur $tmp_dir/po/*.po po/*.po | tee -a /tmp/po.diff && diff -Nur $tmp_dir/po/*.pot po/*.pot | tee -a /tmp/po.diff && if [ $(wc -l /tmp/po.diff | cut -f 1 -d" ") -gt 0 ]; then echo "Error: Translations needs to be updated with make update-po!" && exit 1; fi && \
44 make && \ 81 make && \
45 make test' 82 make test'
46 docker container prune -f 83 docker container prune -f