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 # testQuitErrors is very flaky 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 and not testQuitErrors'