# Input used by make_workflows.py to generate .github/workflows/ # See VersionFlavor in the script to see how stabl/release/devel/devel_release # are defined. software: ############################# # Hybrid family: charybdis: name: Charybdis repository: charybdis-ircd/charybdis refs: stable: charybdis-4.1.2 release: null devel: null devel_release: null path: charybdis separate_build_job: true build_script: | cd $GITHUB_WORKSPACE/charybdis/ ./autogen.sh ./configure --prefix=$HOME/.local/ make -j 4 make install hybrid: name: Hybrid repository: ircd-hybrid/ircd-hybrid refs: stable: "8.2.39" release: null devel: "8.2.x" devel_release: null path: ircd-hybrid separate_build_job: true build_script: | cd $GITHUB_WORKSPACE/ircd-hybrid/ ./configure --prefix=$HOME/.local/ make -j 4 make install plexus4: name: Plexus4 path: plexus4 separate_build_job: true install_steps: stable: - name: clone run: |- curl https://gitlab.com/rizon/plexus4/-/archive/20211115_0-611/plexus4-20211115_0-611.tar | tar -x mv plexus* plexus4 - name: build run: |- cd $GITHUB_WORKSPACE/plexus4 ./autogen.sh ./configure --prefix=$HOME/.local/ make -j 4 make install release: null devel: - name: clone run: |- curl https://gitlab.com/rizon/plexus4/-/archive/master/plexus4-master.tar.gz | tar -zx mv plexus4* plexus4 - name: build run: |- cd $GITHUB_WORKSPACE/plexus4 ./autogen.sh ./configure --prefix=$HOME/.local/ make -j 4 make install devel_release: null solanum: name: Solanum repository: solanum-ircd/solanum refs: # Actually Solanum doesn't have releases; so we just bump this # commit hash from time to time stable: 492d560ee13e71dc35403fd676e58c2d5bdcf2a9 release: null devel: main devel_release: null path: solanum separate_build_job: true build_script: | cd $GITHUB_WORKSPACE/solanum/ ./autogen.sh ./configure --prefix=$HOME/.local/ make -j 4 make install ############################# # Other servers: bahamut: name: Bahamut repository: DALnet/Bahamut refs: stable: "v2.2.1" release: null devel: "master" devel_release: null path: Bahamut separate_build_job: true build_script: | cd $GITHUB_WORKSPACE/Bahamut/ patch src/s_user.c < $GITHUB_WORKSPACE/patches/bahamut_localhost.patch echo "#undef THROTTLE_ENABLE" >> include/config.h libtoolize --force aclocal autoheader automake --force-missing --add-missing || true autoreconf ./configure --prefix=$HOME/.local/ make -j 4 make install mkdir -p $HOME/.local/bin/ cp $HOME/.local/ircd $HOME/.local/bin/ircd ergo: name: Ergo repository: ergochat/ergo refs: stable: irctest_stable release: stable devel: master devel_release: null path: ergo prefix: ~/go pre_deps: - uses: actions/setup-go@v2 with: go-version: '^1.18.0' - run: go version separate_build_job: false build_script: | cd $GITHUB_WORKSPACE/ergo/ make build make install inspircd: name: InspIRCd repository: inspircd/inspircd refs: &inspircd_refs stable: v3.12.0 release: null devel: master devel_release: insp3 path: inspircd prefix: ~/.local/inspircd cache: false # incremental compilation is frequently broken separate_build_job: true build_script: &inspircd_build_script | cd $GITHUB_WORKSPACE/inspircd/ patch src/inspircd.cpp < $GITHUB_WORKSPACE/patches/inspircd_mainloop.patch ./configure --prefix=$HOME/.local/inspircd --development make -j 4 make install irc2: name: irc2 separate_build_job: false install_steps: stable: - name: Get source code run: |- curl http://ftp.irc.org/ftp/irc/server/irc2.11.2p3.tgz | tar -zx - name: Configure run: |- cd $GITHUB_WORKSPACE/irc2.11.2p3 ./configure --prefix=$HOME/.local/ cd x86* echo "#define CMDLINE_CONFIG/" >> config.h echo "#define DEFAULT_SPLIT_USERS 0" >> config.h echo "#define DEFAULT_SPLIT_SERVERS 0" >> config.h #echo "#undef LIST_ALIS_NOTE" >> config.h # TODO: find a better way to make it not fork... echo "#define fork() (0)" >> config.h - name: Compile and install run: |- cd $GITHUB_WORKSPACE/irc2.11.2p3/x86* make -j 4 all make install mkdir -p $HOME/.local/bin cp $HOME/.local/sbin/ircd $HOME/.local/bin/ircd release: null devel: null devel_release: null ircu2: name: ircu2 repository: undernetirc/ircu2 refs: stable: "u2.10.12.19" release: null devel: "u2_10_12_branch" devel_release: null path: ircu2 separate_build_job: false build_script: | cd $GITHUB_WORKSPACE/ircu2 # We need --with-maxcon, to set MAXCONNECTIONS so that it's much lower than # NN_MAX_CLIENT, or ircu2 crashes with a somewhat cryptic error on startup. ./configure --prefix=$HOME/.local/ --with-maxcon=1024 --enable-debug make -j 4 make install nefarious: name: nefarious repository: evilnet/nefarious2 refs: stable: "985704168ecada12d9e53b46df6087ef9d9fb40b" release: null devel: "master" devel_release: null path: nefarious separate_build_job: false build_script: | cd $GITHUB_WORKSPACE/nefarious ./configure --prefix=$HOME/.local/ --enable-debug make -j 4 make install cp $GITHUB_WORKSPACE/data/nefarious/* $HOME/.local/lib ngircd: name: ngircd repository: ngircd/ngircd refs: stable: rel-26.1 release: null devel: master devel_release: null path: ngircd prefix: ~/.local/ separate_build_job: true build_script: | cd $GITHUB_WORKSPACE/ngircd patch src/ngircd/client.c < $GITHUB_WORKSPACE/patches/ngircd_whowas_delay.patch ./autogen.sh ./configure --prefix=$HOME/.local/ make -j 4 make install snircd: name: snircd repository: quakenet/snircd refs: stable: "u2.10.12.10+snircd(1.3.4a)" release: null devel: null # no update in master since 2013... devel_release: null path: snircd separate_build_job: false build_script: | cd $GITHUB_WORKSPACE/snircd # Work around an issue with liblex detection rm configure autoconf # We need --with-maxcon, to set MAXCONNECTIONS so that it's much lower than # NN_MAX_CLIENT, or ircu2 crashes with a somewhat cryptic error on startup. ./configure --prefix=$HOME/.local/ --with-maxcon=1024 --enable-debug make -j 4 make install unrealircd: name: UnrealIRCd 6 repository: unrealircd/unrealircd refs: stable: daa0c11f285c7123ba9fa2966dee2d1a17729f1e # 6.0.2 + a few commits release: 29fd2e772a6b4b9107daa4e3c237df454b055810 # 6.0.2 devel: unreal60_dev devel_release: null path: unrealircd prefix: ~/.local/unrealircd separate_build_job: true build_script: &unrealircd_build_script | cd $GITHUB_WORKSPACE/unrealircd/ cp $GITHUB_WORKSPACE/data/unreal/* . # Need to use a specific -march, because GitHub has inconsistent # architectures across workers, which result in random SIGILL with some # worker combinations sudo apt install libsodium-dev libargon2-dev CFLAGS="-O0 -march=x86-64" CXXFLAGS="$CFLAGS" ./Config -quick make -j 4 make install unrealircd-5: name: UnrealIRCd 5 repository: unrealircd/unrealircd refs: stable: 6604856973f713a494f83d38992d7d61ce6b9db4 # 5.2.4 release: null devel: unreal52 devel_release: path: unrealircd prefix: ~/.local/unrealircd separate_build_job: true build_script: *unrealircd_build_script ############################# # Clients: limnoria: name: Limnoria separate_build_job: false install_steps: stable: - name: Install dependencies run: pip install limnoria==2022.03.17 cryptography pyxmpp2-scram release: - name: Install dependencies run: pip install limnoria cryptography pyxmpp2-scram devel: - name: Install dependencies run: pip install git+https://github.com/ProgVal/Limnoria.git@testing cryptography pyxmpp2-scram devel_release: null sopel: name: Sopel separate_build_job: false install_steps: stable: - name: Install dependencies run: pip install sopel==7.1.8 release: - name: Install dependencies run: pip install sopel devel: - name: Install dependencies run: pip install git+https://github.com/sopel-irc/sopel.git devel_release: null tests: bahamut: software: [bahamut] bahamut-atheme: software: [bahamut] bahamut-anope: software: [bahamut, anope] charybdis: software: [charybdis] hybrid: software: [hybrid, anope] solanum: software: [solanum] ergo: software: [ergo] inspircd: software: [inspircd] inspircd-atheme: software: [inspircd] exclude_versions: [devel] # Atheme does not support Insp4 yet, so it fails to connect inspircd-anope: software: [inspircd, anope] ngircd: software: [ngircd] ngircd-atheme: software: [ngircd] ngircd-anope: software: [ngircd, anope] plexus4: software: [plexus4, anope] irc2: software: [irc2] ircu2: software: [ircu2] nefarious: software: [nefarious] # doesn't build because it can't find liblex for some reason #snircd: # software: [snircd] unrealircd-5: software: [unrealircd-5] unrealircd: software: [unrealircd] unrealircd-atheme: software: [unrealircd] unrealircd-anope: software: [unrealircd, anope] limnoria: software: [limnoria] sopel: software: [sopel]