From 03423e155c2ab19ce1d220620185786af8abc6ae Mon Sep 17 00:00:00 2001 From: Bram Matthys Date: Mon, 6 Oct 2025 10:50:57 +0200 Subject: [PATCH] GitHub Actions: add Linux CI (in addition to existing BuildBot) We already run CI since 2014, first via Travis CI, then when it became paid we switched to self-hosted BuildBot in 2019. Later that year GitHub Actions came also in existence, but we already switched over to BuildBot by then so didn't use it. We will still use BuildBot on self-hosted to test various Ubuntu and Debian distro versions, FreeBSD and Windows. Also, in the BuildBot we have our own pre-build environment where we run Services tests (with both anope and atheme), we run TLS there (again on all those distros with various OpenSSL versions). And we also test both clang and gcc. So what is new? Well, now we will also run a "quick test" via GitHub Actions, like most projects out there on GitHub. Not the services test, not the TLS tests, but simply latest Ubuntu and then clang+gcc. The main benefit of this is that it will also show up on Pull Requests and makes it "public" as our BuildBot page is restricted. --- .github/workflows/linux-ci.yml | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/linux-ci.yml diff --git a/.github/workflows/linux-ci.yml b/.github/workflows/linux-ci.yml new file mode 100644 index 000000000..2b41255da --- /dev/null +++ b/.github/workflows/linux-ci.yml @@ -0,0 +1,36 @@ +name: Linux CI + +on: + push: + branches: [ "unreal60_dev" ] + pull_request: + branches: [ "unreal60_dev" ] + +env: + NOSERVICES: 1 + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + compiler: [ {c: gcc, cpp: g++}, {c: clang, cpp: clang++} ] + + env: + CC: ${{ matrix.compiler.c }} + CXX: ${{ matrix.compiler.cpp }} + + steps: + - name: installdependencies + run: | + sudo rm /var/lib/man-db/auto-update + sudo apt-get install build-essential pkg-config libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev libjansson-dev + - name: installpythondependencies + run: | + python -m pip install --break-system-packages pyasyncore + python -m pip install --break-system-packages pyasynchat + - uses: actions/checkout@v4 + - name: build + run: extras/build-tests/nix/build + - name: run-tests