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