irctest/.github/workflows/ircd-seven.yml

59 lines
1.6 KiB
YAML

name: irctest with ircd-seven
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Cache dependencies
uses: actions/cache@v2
with:
path: |
~/.cache
$GITHUB_WORKSPACE/ircd-seven
key: ${{ runner.os }}-ircd-seven
- name: Install dependencies
run: |
sudo apt-get install libhyperscan-dev
python -m pip install --upgrade pip
pip install pytest -r requirements.txt
- name: Checkout ircd-seven
uses: actions/checkout@v2
with:
repository: freenode/ircd-seven
ref: ircd-seven-1.1.9
path: ircd-seven
- name: Build ircd-seven
run: |
cd $GITHUB_WORKSPACE/ircd-seven/
autoconf
./configure --prefix=$HOME/.local/
make # can't use -j, may cause 'y.tab.h: No such file or directory'
make install
mv $HOME/.local/bin/ircd $HOME/.local/bin/ircd-seven
- name: Test with pytest
run: |
# testNakWhole fails because ircd-seven sends a trailing space in CAP ACK
# testPartMessage and testBasicPartRfc2812 fail because ircd-seven adds quotes around the message
# testListOne fails because ircd-seven makes channels secret by default
PATH=~/.local/bin:$PATH pytest --controller=irctest.controllers.ircd_seven -k 'not Oragono and not deprecated and not strict and not testDoubleKickMessages and not testNakWhole and not testPartMessage and not testBasicPartRfc2812 and not testListOne'