1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-10-27 20:36:18 +00:00
ngircd/.github/workflows/ci.yml

82 lines
2.4 KiB
YAML

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