--- /dev/null
+name: functional test no coverage
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ functional_test_no-coverage:
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ max-parallel: 1
+ fail-fast: false
+ matrix:
+ # Current ubuntu-latest (Ubuntu 22.04) provides the following versions of Python:
+ python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
+
+ steps:
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install package
+ run: |
+ python -m pip install --upgrade pip
+ echo "Install the package via pip..."
+ pip --verbose install git+https://github.com/a13xp0p0v/kernel-hardening-checker
+ echo "Run the installed tool..."
+ kernel-hardening-checker
+
+ - name: Check all configs with the installed tool
+ run: |
+ echo "Check all configs with the installed tool..."
+ sysctl -a > /tmp/sysctls
+ CONFIG_DIR=`find /opt/hostedtoolcache/Python/ -name config_files`
+ KCONFIGS=`find $CONFIG_DIR -type f | grep -e "\.config" -e "\.gz"`
+ COUNT=0
+ for C in $KCONFIGS
+ do
+ COUNT=$(expr $COUNT + 1)
+ echo -e "\n>>>>> checking kconfig number $COUNT <<<<<"
+ kernel-hardening-checker -c $C -l /proc/cmdline -s /tmp/sysctls
+ done
+ echo -e "\nHave checked $COUNT kconfigs"
+
+ - name: Get source code
+ uses: actions/checkout@v4
+
+ - name: Run the functional tests
+ run: |
+ pip install coverage
+ sh .github/workflows/functional_test.sh