diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/dependabot.yml | 6 | ||||
-rw-r--r-- | .github/tools/.checkpatch.conf | 10 | ||||
-rwxr-xr-x | .github/tools/install_ubuntu_packages.sh | 12 | ||||
-rw-r--r-- | .github/workflows/review.yml | 41 |
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 |