aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/dependabot.yml15
-rw-r--r--.github/workflows/linux.yml84
2 files changed, 99 insertions, 0 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..dc5c447
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,15 @@
+# Copyright (c) 2023 Sebastian Pipping <sebastian@pipping.org>
+# Licensed under GPL v2 or later
+
+version: 2
+updates:
+
+ - package-ecosystem: "github-actions"
+ commit-message:
+ include: "scope"
+ prefix: "Actions"
+ directory: "/"
+ labels:
+ - "enhancement"
+ schedule:
+ interval: "weekly"
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 0000000..0624027
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,84 @@
+# Copyright (c) 2023 Sebastian Pipping <sebastian@pipping.org>
+# Licensed under GPL v2 or later
+
+name: Build on Linux
+
+on:
+ pull_request:
+ push:
+ schedule:
+ - cron: '0 3 * * 5' # Every Friday at 3am
+ workflow_dispatch:
+
+jobs:
+ linux:
+ name: Build (${{ matrix.cc }} on ${{ matrix.runs-on }})
+ runs-on: ${{ matrix.runs-on }}
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - cc: gcc-13
+ cxx: g++-13
+ clang_major_version: null
+ clang_repo_suffix: null
+ runs-on: ubuntu-22.04
+ - cc: clang-17
+ cxx: clang++-17
+ clang_major_version: 17
+ clang_repo_suffix: -17
+ runs-on: ubuntu-22.04
+ - cc: clang-18
+ cxx: clang++-18
+ clang_major_version: 18
+ clang_repo_suffix:
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Add Clang/LLVM repositories
+ if: "${{ contains(matrix.cxx, 'clang') }}"
+ run: |-
+ set -x
+ source /etc/os-release
+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
+ sudo add-apt-repository "deb http://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}${{ matrix.clang_repo_suffix }} main"
+
+ - name: Install build dependencies
+ run: |-
+ sudo apt-get update
+ sudo apt-get install --yes --no-install-recommends \
+ autoconf \
+ automake \
+ libfuse3-dev \
+ libtool \
+ pkg-config
+
+ - name: Install build dependency Clang ${{ matrix.clang_major_version }}
+ if: "${{ contains(matrix.cxx, 'clang') }}"
+ run: |-
+ sudo apt-get install --yes --no-install-recommends -V \
+ clang-${{ matrix.clang_major_version }}
+
+ - name: Checkout Git branch
+ uses: actions/checkout@v4
+
+ - name: 'Bootstrap with ./autogen.sh'
+ run: |-
+ ./autogen.sh
+
+ - name: 'Configure'
+ run: |-
+ set -x
+ mkdir build
+ cd build
+ ../configure
+
+ - name: 'Build'
+ run: |-
+ set -x
+ make -C build -j$(nproc) VERBOSE=1
+
+ - name: 'Install'
+ run: |-
+ set -x -o pipefail
+ make -C build install DESTDIR="${PWD}"/ROOT/
+ find ROOT/ | sort | xargs ls -ld