summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/dependabot.yml6
-rw-r--r--.github/tools/.checkpatch.conf10
-rwxr-xr-x.github/tools/install_ubuntu_packages.sh12
-rw-r--r--.github/workflows/review.yml41
4 files changed, 69 insertions, 0 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..1230149
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,6 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff --git a/.github/tools/.checkpatch.conf b/.github/tools/.checkpatch.conf
new file mode 100644
index 0000000..d6e3bc4
--- /dev/null
+++ b/.github/tools/.checkpatch.conf
@@ -0,0 +1,10 @@
+--no-tree
+--show-types
+--exclude .github
+--exclude clustermd_tests
+--exclude documentation
+--exclude misc
+--exclude systemd
+--exclude tests
+--ignore FILE_PATH_CHANGES
+--ignore EMAIL_SUBJECT
diff --git a/.github/tools/install_ubuntu_packages.sh b/.github/tools/install_ubuntu_packages.sh
new file mode 100755
index 0000000..1a31ca4
--- /dev/null
+++ b/.github/tools/install_ubuntu_packages.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/bash
+
+VERSION_CODENAME=$(grep -oP '(?<=^VERSION_CODENAME=).+' /etc/os-release | tr -d '"')
+echo "Detected VERSION_CODENAME: $VERSION_CODENAME"
+
+# Add ubuntu repository
+sudo add-apt-repository -y "deb [arch=amd64] http://archive.ubuntu.com/ubuntu $VERSION_CODENAME \
+ main universe"
+# Install gcc
+sudo apt-get -y update && sudo apt-get -y install gcc-$1
+# Install dependencies
+sudo apt-get -y install make gcc libudev-dev devscripts
diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml
new file mode 100644
index 0000000..3fa29f6
--- /dev/null
+++ b/.github/workflows/review.yml
@@ -0,0 +1,41 @@
+name: review
+on: [pull_request]
+env:
+ cflags: -Werror
+jobs:
+ make:
+ runs-on: ubuntu-latest
+ name: Compilation test with gcc
+ strategy:
+ matrix:
+ gcc-version: [7, 8, 9, 10, 11, 12, 13]
+ steps:
+ - uses: actions/checkout@v4
+ - name: 'Add ubuntu repository and install dependencies'
+ run: .github/tools/install_ubuntu_packages.sh ${{ matrix.gcc-version }}
+ - name: 'Make with DEBUG flag'
+ run: CC=gcc-${{ matrix.gcc-version }} && V=1 make -j$(nproc) -B CXFLAGS=-DEBUG && make clean
+ - name: 'Make with DEBIAN flag'
+ run: CC=gcc-${{ matrix.gcc-version }} && V=1 make -j$(nproc) -B CXGALGS=-DEBIAN && make clean
+ - name: 'Make with USE_PTHREADS flag'
+ run: CC=gcc-${{ matrix.gcc-version }} && V=1 make -j$(nproc) -B CXFLAGS=-USE_PTHREADS && make clean
+ - name: 'Make with DNO_LIBUDEV flag'
+ run: CC=gcc-${{ matrix.gcc-version }} && V=1 make -j$(nproc) -B CXFLAGS=-DNO_LIBUDEV && make clean
+ - name: 'Make'
+ run: CC=gcc-${{ matrix.gcc-version }} && V=1 make -j$(nproc)
+ - name: hardening-check mdadm
+ run: hardening-check mdadm
+ - name: hardening-check mdmon
+ run: hardening-check mdmon
+ checkpatch:
+ runs-on: ubuntu-latest
+ name: checkpatch review
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.pull_request.head.sha }}
+ fetch-depth: 0
+ - name: 'Move prepared .checkpatch.conf file to main directory'
+ run: mv .github/tools/.checkpatch.conf .
+ - name: Run checkpatch review
+ uses: webispy/checkpatch-action@v9