summaryrefslogtreecommitdiff
path: root/deprecated-ngircd/.github/workflows/ci.yml
blob: ae2c99e17400690fe9b6d6ce8ad068cf5a5d46d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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