irctest with devel versions #1587
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file was auto-generated by make_workflows.py. | |
# Do not edit it manually, modifications will be lost. | |
jobs: | |
build-anope: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-anope-devel | |
path: '~/.cache | |
${ github.workspace }/anope | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout Anope | |
uses: actions/checkout@v4 | |
with: | |
path: anope | |
ref: '2.1' | |
repository: anope/anope | |
- name: Build Anope | |
run: | | |
cd $GITHUB_WORKSPACE/anope/ | |
sudo apt-get install ninja-build --no-install-recommends | |
mkdir build && cd build | |
cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local/ -DPROGRAM_NAME=anope -DUSE_PCH=ON -GNinja .. | |
ninja install | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-anope | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-bahamut: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-bahamut-devel | |
path: '~/.cache | |
${ github.workspace }/Bahamut | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout Bahamut | |
uses: actions/checkout@v4 | |
with: | |
path: Bahamut | |
ref: master | |
repository: DALnet/Bahamut | |
- name: Build Bahamut | |
run: | | |
cd $GITHUB_WORKSPACE/Bahamut/ | |
patch src/s_user.c < $GITHUB_WORKSPACE/patches/bahamut_localhost.patch | |
patch src/s_bsd.c < $GITHUB_WORKSPACE/patches/bahamut_mainloop.patch | |
# <= v2.2.2 | |
patch -p1 < $GITHUB_WORKSPACE/patches/bahamut_ubuntu22.patch || true | |
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 | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-bahamut.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-bahamut | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-hybrid: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-hybrid-devel | |
path: '~/.cache | |
${ github.workspace }/ircd-hybrid | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout Hybrid | |
uses: actions/checkout@v4 | |
with: | |
path: ircd-hybrid | |
ref: 8.2.x | |
repository: ircd-hybrid/ircd-hybrid | |
- name: Build Hybrid | |
run: | | |
cd $GITHUB_WORKSPACE/ircd-hybrid/ | |
./configure --prefix=$HOME/.local/ | |
make -j 4 | |
make install | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-hybrid.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-hybrid | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-inspircd: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout InspIRCd | |
uses: actions/checkout@v4 | |
with: | |
path: inspircd | |
ref: master | |
repository: inspircd/inspircd | |
- name: Build InspIRCd | |
run: | | |
cd $GITHUB_WORKSPACE/inspircd/ | |
./configure --prefix=$HOME/.local/inspircd --development | |
CXXFLAGS=-DINSPIRCD_UNLIMITED_MAINLOOP make -j 4 | |
make install | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-inspircd | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-ngircd: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-ngircd-devel | |
path: '~/.cache | |
${ github.workspace }/ngircd | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout ngircd | |
uses: actions/checkout@v4 | |
with: | |
path: ngircd | |
ref: master | |
repository: ngircd/ngircd | |
- name: Build ngircd | |
run: | | |
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 | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-ngircd.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-ngircd | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-plexus4: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-plexus4-devel | |
path: '~/.cache | |
${ github.workspace }/placeholder | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- 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' | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-plexus4.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-plexus4 | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-solanum: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-solanum-devel | |
path: '~/.cache | |
${ github.workspace }/solanum | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout Solanum | |
uses: actions/checkout@v4 | |
with: | |
path: solanum | |
ref: main | |
repository: solanum-ircd/solanum | |
- name: Build Solanum | |
run: | | |
cd $GITHUB_WORKSPACE/solanum/ | |
./autogen.sh | |
./configure --prefix=$HOME/.local/ | |
make -j 4 | |
make install | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-solanum.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-solanum | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-unrealircd: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-unrealircd-devel | |
path: '~/.cache | |
${ github.workspace }/unrealircd | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout UnrealIRCd 6 | |
uses: actions/checkout@v4 | |
with: | |
path: unrealircd | |
ref: unreal60_dev | |
repository: unrealircd/unrealircd | |
- name: Build UnrealIRCd 6 | |
run: | | |
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 | |
# Prevent download of geoIP database on first startup | |
sed -i 's/loadmodule "geoip_classic";//' ~/.local/unrealircd/conf/modules.default.conf | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-unrealircd.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-unrealircd | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-unrealircd-5: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
key: 3-${{ runner.os }}-unrealircd-5-devel | |
path: '~/.cache | |
${ github.workspace }/unrealircd | |
' | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout UnrealIRCd 5 | |
uses: actions/checkout@v4 | |
with: | |
path: unrealircd | |
ref: unreal52 | |
repository: unrealircd/unrealircd | |
- name: Build UnrealIRCd 5 | |
run: | | |
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 | |
# Prevent download of geoIP database on first startup | |
sed -i 's/loadmodule "geoip_classic";//' ~/.local/unrealircd/conf/modules.default.conf | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-unrealircd-5.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installed-unrealircd-5 | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
publish-test-results: | |
if: success() || failure() | |
name: Publish Dashboard | |
needs: | |
- test-bahamut | |
- test-bahamut-anope | |
- test-bahamut-atheme | |
- test-ergo | |
- test-hybrid | |
- test-inspircd | |
- test-inspircd-anope | |
- test-ircu2 | |
- test-limnoria | |
- test-nefarious | |
- test-ngircd | |
- test-ngircd-anope | |
- test-ngircd-atheme | |
- test-plexus4 | |
- test-sable | |
- test-solanum | |
- test-sopel | |
- test-thelounge | |
- test-unrealircd | |
- test-unrealircd-5 | |
- test-unrealircd-anope | |
- test-unrealircd-atheme | |
- test-unrealircd-dlk | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts | |
- name: Install dashboard dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install defusedxml docutils -r requirements.txt | |
- name: Generate dashboard | |
run: |- | |
shopt -s globstar | |
python3 -m irctest.dashboard.format dashboard/ artifacts/**/*.xml | |
echo '/ /index.xhtml' > dashboard/_redirects | |
- name: Install netlify-cli | |
run: npm i -g netlify-cli | |
- env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
name: Deploy to Netlify | |
run: ./.github/deploy_to_netlify.py | |
test-bahamut: | |
needs: | |
- build-bahamut | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-bahamut | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
bahamut | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_bahamut_devel | |
path: pytest.xml | |
test-bahamut-anope: | |
needs: | |
- build-bahamut | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-bahamut | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
bahamut-anope | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_bahamut-anope_devel | |
path: pytest.xml | |
test-bahamut-atheme: | |
needs: | |
- build-bahamut | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-bahamut | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
bahamut-atheme | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_bahamut-atheme_devel | |
path: pytest.xml | |
test-ergo: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout Ergo | |
uses: actions/checkout@v4 | |
with: | |
path: ergo | |
ref: master | |
repository: ergochat/ergo | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.23.0 | |
- run: go version | |
- name: Build Ergo | |
run: | | |
cd $GITHUB_WORKSPACE/ergo/ | |
make build | |
make install | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/go/sbin:~/go/bin:~/go:$PATH | |
make ergo | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_ergo_devel | |
path: pytest.xml | |
test-hybrid: | |
needs: | |
- build-hybrid | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-hybrid | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
hybrid | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_hybrid_devel | |
path: pytest.xml | |
test-inspircd: | |
needs: | |
- build-inspircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-inspircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH | |
make inspircd | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_inspircd_devel | |
path: pytest.xml | |
test-inspircd-anope: | |
needs: | |
- build-inspircd | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-inspircd | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make | |
inspircd-anope | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_inspircd-anope_devel | |
path: pytest.xml | |
test-ircu2: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout ircu2 | |
uses: actions/checkout@v4 | |
with: | |
path: ircu2 | |
ref: u2_10_12_branch | |
repository: undernetirc/ircu2 | |
- name: Build ircu2 | |
run: | | |
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 | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
ircu2 | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_ircu2_devel | |
path: pytest.xml | |
test-limnoria: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install dependencies | |
run: pip install git+https://github.com/progval/Limnoria.git@master cryptography | |
pyxmpp2-scram | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
limnoria | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_limnoria_devel | |
path: pytest.xml | |
test-nefarious: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout nefarious | |
uses: actions/checkout@v4 | |
with: | |
path: nefarious | |
ref: master | |
repository: evilnet/nefarious2 | |
- name: Build nefarious | |
run: | | |
cd $GITHUB_WORKSPACE/nefarious | |
./configure --prefix=$HOME/.local/ --enable-debug | |
make -j 4 | |
make install | |
cp $GITHUB_WORKSPACE/data/nefarious/* $HOME/.local/lib | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
nefarious | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_nefarious_devel | |
path: pytest.xml | |
test-ngircd: | |
needs: | |
- build-ngircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-ngircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH | |
make ngircd | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_ngircd_devel | |
path: pytest.xml | |
test-ngircd-anope: | |
needs: | |
- build-ngircd | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-ngircd | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make | |
ngircd-anope | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_ngircd-anope_devel | |
path: pytest.xml | |
test-ngircd-atheme: | |
needs: | |
- build-ngircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-ngircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH | |
make ngircd-atheme | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_ngircd-atheme_devel | |
path: pytest.xml | |
test-plexus4: | |
needs: | |
- build-plexus4 | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-plexus4 | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
plexus4 | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_plexus4_devel | |
path: pytest.xml | |
test-sable: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout Sable | |
uses: actions/checkout@v4 | |
with: | |
path: sable | |
ref: master | |
repository: Libera-Chat/sable | |
- name: Install rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
override: true | |
profile: minimal | |
toolchain: nightly | |
- name: Enable Cargo cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
workspaces: sable -> target | |
- run: rustc --version | |
- name: Build Sable | |
run: | | |
cd $GITHUB_WORKSPACE/sable/ | |
cargo build | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=$GITHUB_WORKSPACE/sable/target/debug/sbin:$GITHUB_WORKSPACE/sable/target/debug/bin:$GITHUB_WORKSPACE/sable/target/debug:$PATH | |
make sable | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_sable_devel | |
path: pytest.xml | |
test-solanum: | |
needs: | |
- build-solanum | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-solanum | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
solanum | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_solanum_devel | |
path: pytest.xml | |
test-sopel: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install dependencies | |
run: pip install git+https://github.com/sopel-irc/sopel.git | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
sopel | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_sopel_devel | |
path: pytest.xml | |
test-thelounge: | |
needs: [] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Checkout TheLounge | |
uses: actions/checkout@v4 | |
with: | |
path: thelounge | |
ref: master | |
repository: thelounge/thelounge | |
- name: Build TheLounge | |
run: | | |
cd $GITHUB_WORKSPACE/thelounge | |
yarn install | |
NODE_ENV=production yarn build | |
mkdir -p ~/.local/bin/ | |
ln -s $(pwd)/index.js ~/.local/bin/thelounge | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH make | |
thelounge | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_thelounge_devel | |
path: pytest.xml | |
test-unrealircd: | |
needs: | |
- build-unrealircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-unrealircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH | |
make unrealircd | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_unrealircd_devel | |
path: pytest.xml | |
test-unrealircd-5: | |
needs: | |
- build-unrealircd-5 | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-unrealircd-5 | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH | |
make unrealircd-5 | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_unrealircd-5_devel | |
path: pytest.xml | |
test-unrealircd-anope: | |
needs: | |
- build-unrealircd | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-unrealircd | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make | |
unrealircd-anope | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_unrealircd-anope_devel | |
path: pytest.xml | |
test-unrealircd-atheme: | |
needs: | |
- build-unrealircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-unrealircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH | |
make unrealircd-atheme | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_unrealircd-atheme_devel | |
path: pytest.xml | |
test-unrealircd-dlk: | |
needs: | |
- build-unrealircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: installed-unrealircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Checkout Dlk | |
uses: actions/checkout@v4 | |
with: | |
path: Dlk-Services | |
ref: main | |
repository: DalekIRC/Dalek-Services | |
- name: Build Dlk | |
run: | | |
pip install pifpaf | |
wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar | |
wget -q https://wordpress.org/latest.zip -O wordpress-latest.zip | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist pytest-timeout -r requirements.txt | |
- env: | |
IRCTEST_DEBUG_LOGS: ${{ runner.debug }} | |
name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 300' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH | |
IRCTEST_DLK_PATH="${{ github.workspace }}/Dlk-Services" IRCTEST_WP_CLI_PATH="${{ | |
github.workspace }}/wp-cli.phar" IRCTEST_WP_ZIP_PATH="${{ github.workspace | |
}}/wordpress-latest.zip" make unrealircd-dlk | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results_unrealircd-dlk_devel | |
path: pytest.xml | |
name: irctest with devel versions | |
'on': | |
schedule: | |
- cron: 51 8 * * 6 | |
- cron: 51 8 * * 0 | |
- cron: 51 17 * * * | |
workflow_dispatch: null |