summaryrefslogtreecommitdiff
path: root/ngircd/.github
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-10-23 23:44:03 +0800
committerMistivia <i@mistivia.com>2025-10-23 23:44:07 +0800
commitc8aeef18cb46a617b6397b9822263895e97e9048 (patch)
treeebe127e7c194039f315b74a5998b05a271c57b9d /ngircd/.github
add ircd
Diffstat (limited to 'ngircd/.github')
-rw-r--r--ngircd/.github/workflows/ci.yml81
1 files changed, 81 insertions, 0 deletions
diff --git a/ngircd/.github/workflows/ci.yml b/ngircd/.github/workflows/ci.yml
new file mode 100644
index 0000000..ae2c99e
--- /dev/null
+++ b/ngircd/.github/workflows/ci.yml
@@ -0,0 +1,81 @@
+name: ngIRCd CI
+
+on:
+ push:
+ branches:
+ - master
+ paths-ignore:
+ - 'COPYING'
+ - 'ChangeLog'
+ - 'NEWS'
+ - 'contrib/**'
+ - 'doc/**'
+ - 'man/**'
+ - '**.md'
+ - '**.txt'
+ pull_request:
+ branches:
+ - master
+ paths-ignore:
+ - 'COPYING'
+ - 'ChangeLog'
+ - 'NEWS'
+ - 'contrib/**'
+ - 'doc/**'
+ - 'man/**'
+ - '**.md'
+ - '**.txt'
+
+jobs:
+ build_and_distcheck:
+ name: build+test
+ strategy:
+ matrix:
+ os:
+ - ubuntu
+ - macos
+ toolchain:
+ - gcc
+ - llvm
+ include:
+ - os: ubuntu
+ toolchain: gcc
+ install_cmd: |
+ sudo apt update
+ sudo apt install build-essential expect libident-dev libpam0g-dev libssl-dev libwrap0-dev pkg-config telnet zlib1g-dev gcc
+ configure_cmd: |
+ ./configure CC=gcc --enable-ipv6 --with-iconv --with-ident --with-openssl --with-pam --with-tcp-wrappers --with-zlib
+ - os: ubuntu
+ toolchain: llvm
+ install_cmd: |
+ sudo apt update
+ sudo apt install build-essential expect libident-dev libpam0g-dev libssl-dev libwrap0-dev pkg-config telnet zlib1g-dev clang
+ configure_cmd: |
+ ./configure CC=clang --enable-ipv6 --with-iconv --with-ident --with-openssl --with-pam --with-tcp-wrappers --with-zlib
+ - os: macos
+ toolchain: gcc
+ install_cmd: |
+ brew update
+ brew install autoconf automake expect openssl@3 pkg-config telnet zlib gcc
+ configure_cmd: |
+ ./configure CC=gcc --enable-ipv6 --with-iconv --with-openssl --with-zlib
+ - os: macos
+ toolchain: llvm
+ install_cmd: |
+ brew update
+ brew install autoconf automake expect openssl@3 pkg-config telnet zlib llvm
+ configure_cmd: |
+ ./configure CC=clang --enable-ipv6 --with-iconv --with-openssl --with-zlib
+ runs-on: ${{ matrix.os }}-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies
+ run: ${{ matrix.install_cmd }}
+ - name: Generate build system files
+ run: ./autogen.sh
+ - name: Configure the build system
+ run: ${{ matrix.configure_cmd }}
+ - name: Build everything
+ run: make all
+ - name: Create distribution archive and run tests
+ run: make distcheck