2022-12-29 14:58:19 +00:00
|
|
|
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:
|
2024-05-22 19:28:48 +00:00
|
|
|
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
|
2022-12-29 14:58:19 +00:00
|
|
|
steps:
|
2024-01-21 00:20:14 +00:00
|
|
|
- uses: actions/checkout@v4
|
2024-05-22 19:28:48 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: ${{ matrix.install_cmd }}
|
2022-12-29 14:58:19 +00:00
|
|
|
- name: Generate build system files
|
|
|
|
run: ./autogen.sh
|
|
|
|
- name: Configure the build system
|
2024-05-22 19:28:48 +00:00
|
|
|
run: ${{ matrix.configure_cmd }}
|
2022-12-29 14:58:19 +00:00
|
|
|
- name: Build everything
|
|
|
|
run: make all
|
|
|
|
- name: Create distribution archive and run tests
|
|
|
|
run: make distcheck
|