mirror of
https://github.com/progval/irctest.git
synced 2025-04-04 22:39:50 +00:00
174
.github/workflows/test-devel.yml
vendored
174
.github/workflows/test-devel.yml
vendored
@ -38,6 +38,53 @@ jobs:
|
||||
name: installed-anope
|
||||
path: ~/artefacts-*.tar.gz
|
||||
retention-days: 1
|
||||
build-bahamut:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create directories
|
||||
run: cd ~/; mkdir -p .local/ go/
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
key: 3-${{ runner.os }}-bahamut-devel
|
||||
path: '~/.cache
|
||||
|
||||
${ github.workspace }/Bahamut
|
||||
|
||||
'
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Checkout Bahamut
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: Bahamut
|
||||
ref: master
|
||||
repository: DALnet/Bahamut
|
||||
- name: Build Bahamut
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/Bahamut/
|
||||
patch src/s_user.c < $GITHUB_WORKSPACE/bahamut_localhost.patch
|
||||
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@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: ~/artefacts-*.tar.gz
|
||||
retention-days: 1
|
||||
build-hybrid:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@ -238,6 +285,9 @@ jobs:
|
||||
if: success() || failure()
|
||||
name: Publish Unit Tests Results
|
||||
needs:
|
||||
- test-bahamut
|
||||
- test-bahamut-anope
|
||||
- test-bahamut-atheme
|
||||
- test-ergo
|
||||
- test-hybrid
|
||||
- test-inspircd
|
||||
@ -259,6 +309,108 @@ jobs:
|
||||
uses: EnricoMi/publish-unit-test-result-action@v1
|
||||
with:
|
||||
files: artifacts/**/*.xml
|
||||
test-bahamut:
|
||||
needs:
|
||||
- build-bahamut
|
||||
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: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: '~'
|
||||
- name: Unpack artefacts
|
||||
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
bahamut
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest results bahamut (devel)
|
||||
path: pytest.xml
|
||||
test-bahamut-anope:
|
||||
needs:
|
||||
- build-bahamut
|
||||
- build-anope
|
||||
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: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: '~'
|
||||
- name: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-anope
|
||||
path: '~'
|
||||
- name: Unpack artefacts
|
||||
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
bahamut-anope
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest results bahamut-anope (devel)
|
||||
path: pytest.xml
|
||||
test-bahamut-atheme:
|
||||
needs:
|
||||
- build-bahamut
|
||||
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: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: '~'
|
||||
- name: Unpack artefacts
|
||||
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
bahamut-atheme
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest results bahamut-atheme (devel)
|
||||
path: pytest.xml
|
||||
test-ergo:
|
||||
needs: []
|
||||
runs-on: ubuntu-latest
|
||||
@ -288,7 +440,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/go/bin:$PATH
|
||||
make ergo
|
||||
@ -320,7 +472,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
hybrid
|
||||
@ -352,7 +504,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH
|
||||
make inspircd
|
||||
@ -390,7 +542,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH make
|
||||
inspircd-anope
|
||||
@ -417,7 +569,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
limnoria
|
||||
@ -455,7 +607,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
plexus4
|
||||
@ -487,7 +639,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
solanum
|
||||
@ -513,7 +665,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
sopel
|
||||
@ -545,7 +697,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH
|
||||
make unrealircd
|
||||
@ -583,7 +735,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH make
|
||||
unrealircd-anope
|
||||
@ -615,7 +767,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH
|
||||
make unrealircd-atheme
|
||||
|
6
.github/workflows/test-devel_release.yml
vendored
6
.github/workflows/test-devel_release.yml
vendored
@ -108,7 +108,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH
|
||||
make inspircd
|
||||
@ -146,7 +146,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH make
|
||||
inspircd-anope
|
||||
@ -178,7 +178,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH
|
||||
make inspircd-atheme
|
||||
|
178
.github/workflows/test-stable.yml
vendored
178
.github/workflows/test-stable.yml
vendored
@ -38,6 +38,53 @@ jobs:
|
||||
name: installed-anope
|
||||
path: ~/artefacts-*.tar.gz
|
||||
retention-days: 1
|
||||
build-bahamut:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create directories
|
||||
run: cd ~/; mkdir -p .local/ go/
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
key: 3-${{ runner.os }}-bahamut-stable
|
||||
path: '~/.cache
|
||||
|
||||
${ github.workspace }/Bahamut
|
||||
|
||||
'
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Checkout Bahamut
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: Bahamut
|
||||
ref: v2.2.0
|
||||
repository: DALnet/Bahamut
|
||||
- name: Build Bahamut
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/Bahamut/
|
||||
patch src/s_user.c < $GITHUB_WORKSPACE/bahamut_localhost.patch
|
||||
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@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: ~/artefacts-*.tar.gz
|
||||
retention-days: 1
|
||||
build-charybdis:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@ -278,6 +325,9 @@ jobs:
|
||||
if: success() || failure()
|
||||
name: Publish Unit Tests Results
|
||||
needs:
|
||||
- test-bahamut
|
||||
- test-bahamut-anope
|
||||
- test-bahamut-atheme
|
||||
- test-charybdis
|
||||
- test-ergo
|
||||
- test-hybrid
|
||||
@ -301,6 +351,108 @@ jobs:
|
||||
uses: EnricoMi/publish-unit-test-result-action@v1
|
||||
with:
|
||||
files: artifacts/**/*.xml
|
||||
test-bahamut:
|
||||
needs:
|
||||
- build-bahamut
|
||||
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: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: '~'
|
||||
- name: Unpack artefacts
|
||||
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
bahamut
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest results bahamut (stable)
|
||||
path: pytest.xml
|
||||
test-bahamut-anope:
|
||||
needs:
|
||||
- build-bahamut
|
||||
- build-anope
|
||||
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: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: '~'
|
||||
- name: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-anope
|
||||
path: '~'
|
||||
- name: Unpack artefacts
|
||||
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
bahamut-anope
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest results bahamut-anope (stable)
|
||||
path: pytest.xml
|
||||
test-bahamut-atheme:
|
||||
needs:
|
||||
- build-bahamut
|
||||
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: Download build artefacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: installed-bahamut
|
||||
path: '~'
|
||||
- name: Unpack artefacts
|
||||
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
|
||||
- name: Install Atheme
|
||||
run: sudo apt-get install atheme-services
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
bahamut-atheme
|
||||
- if: always()
|
||||
name: Publish results
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: pytest results bahamut-atheme (stable)
|
||||
path: pytest.xml
|
||||
test-charybdis:
|
||||
needs:
|
||||
- build-charybdis
|
||||
@ -323,7 +475,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
charybdis
|
||||
@ -362,7 +514,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/go/bin:$PATH
|
||||
make ergo
|
||||
@ -394,7 +546,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
hybrid
|
||||
@ -426,7 +578,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH
|
||||
make inspircd
|
||||
@ -464,7 +616,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH make
|
||||
inspircd-anope
|
||||
@ -496,7 +648,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH
|
||||
make inspircd-atheme
|
||||
@ -522,7 +674,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
limnoria
|
||||
@ -560,7 +712,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
plexus4
|
||||
@ -592,7 +744,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
solanum
|
||||
@ -618,7 +770,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make
|
||||
sopel
|
||||
@ -650,7 +802,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH
|
||||
make unrealircd
|
||||
@ -688,7 +840,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH make
|
||||
unrealircd-anope
|
||||
@ -720,7 +872,7 @@ jobs:
|
||||
- name: Install irctest dependencies
|
||||
run: |-
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest -r requirements.txt
|
||||
pip install pytest pytest-xdist -r requirements.txt
|
||||
- name: Test with pytest
|
||||
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH
|
||||
make unrealircd-atheme
|
||||
|
36
Makefile
36
Makefile
@ -11,6 +11,15 @@ EXTRA_SELECTORS ?=
|
||||
ANOPE_SELECTORS := \
|
||||
and not testPlainLarge
|
||||
|
||||
# buffering tests cannot pass because of issues with UTF-8 handling: https://github.com/DALnet/bahamut/issues/196
|
||||
BAHAMUT_SELECTORS := \
|
||||
not Ergo \
|
||||
and not deprecated \
|
||||
and not strict \
|
||||
and not IRCv3 \
|
||||
and not buffering \
|
||||
$(EXTRA_SELECTORS)
|
||||
|
||||
# testQuitErrors is very flaky
|
||||
# AccountTagTestCase.testInvite fails because https://github.com/solanum-ircd/solanum/issues/166
|
||||
CHARYBDIS_SELECTORS := \
|
||||
@ -93,13 +102,36 @@ UNREALIRCD_SELECTORS := \
|
||||
and not (testChathistory and (between or around)) \
|
||||
$(EXTRA_SELECTORS)
|
||||
|
||||
.PHONY: all flakes charybdis ergo inspircd mammon limnoria sopel solanum unrealircd
|
||||
.PHONY: all flakes bahamut charybdis ergo inspircd mammon limnoria sopel solanum unrealircd
|
||||
|
||||
all: flakes charybdis ergo inspircd mammon limnoria sopel solanum unrealircd
|
||||
all: flakes bahamut charybdis ergo inspircd mammon limnoria sopel solanum unrealircd
|
||||
|
||||
flakes:
|
||||
find irctest/ -name "*.py" -not -path "irctest/scram/*" -print0 | xargs -0 pyflakes3
|
||||
|
||||
bahamut:
|
||||
$(PYTEST) $(PYTEST_ARGS) \
|
||||
--controller=irctest.controllers.bahamut \
|
||||
-m 'not services' \
|
||||
-n 10 \
|
||||
-k '$(BAHAMUT_SELECTORS)'
|
||||
|
||||
bahamut-atheme:
|
||||
$(PYTEST) $(PYTEST_ARGS) \
|
||||
--controller=irctest.controllers.bahamut \
|
||||
--services-controller=irctest.controllers.atheme_services \
|
||||
-m 'services' \
|
||||
-n 10 \
|
||||
-k '$(BAHAMUT_SELECTORS)'
|
||||
|
||||
bahamut-anope:
|
||||
$(PYTEST) $(PYTEST_ARGS) \
|
||||
--controller=irctest.controllers.bahamut \
|
||||
--services-controller=irctest.controllers.anope_services \
|
||||
-m 'services' \
|
||||
-n 10 \
|
||||
-k '$(BAHAMUT_SELECTORS) $(ANOPE_SELECTORS)'
|
||||
|
||||
charybdis:
|
||||
$(PYTEST) $(PYTEST_ARGS) \
|
||||
--controller=irctest.controllers.charybdis \
|
||||
|
20
bahamut_localhost.patch
Normal file
20
bahamut_localhost.patch
Normal file
@ -0,0 +1,20 @@
|
||||
Allows connections from localhost
|
||||
|
||||
diff --git a/src/s_user.c b/src/s_user.c
|
||||
index 317b00e..adfcfcf 100644
|
||||
--- a/src/s_user.c
|
||||
+++ b/src/s_user.c
|
||||
@@ -594,13 +594,6 @@ register_user(aClient *cptr, aClient *sptr, char *nick, char *username,
|
||||
dots = 1;
|
||||
}
|
||||
|
||||
- if (!dots)
|
||||
- {
|
||||
- sendto_realops("Invalid hostname for %s, dumping user %s",
|
||||
- sptr->hostip, sptr->name);
|
||||
- return exit_client(cptr, sptr, &me, "Invalid hostname");
|
||||
- }
|
||||
-
|
||||
if (bad_dns)
|
||||
{
|
||||
sendto_one(sptr, ":%s NOTICE %s :*** Notice -- You have a bad "
|
@ -187,6 +187,7 @@ class BaseServerController(_BaseController):
|
||||
services_controller_class: Type[BaseServicesController]
|
||||
extban_mute_char: Optional[str] = None
|
||||
"""Character used for the 'mute' extban"""
|
||||
nickserv = "NickServ"
|
||||
|
||||
def get_hostname_and_port(self) -> Tuple[str, int]:
|
||||
return find_hostname_and_port()
|
||||
@ -283,7 +284,7 @@ class BaseServicesController(_BaseController):
|
||||
|
||||
timeout = time.time() + 5
|
||||
while True:
|
||||
c.sendLine("PRIVMSG NickServ :HELP")
|
||||
c.sendLine(f"PRIVMSG {self.server_controller.nickserv} :HELP")
|
||||
msgs = self.getNickServResponse(c)
|
||||
for msg in msgs:
|
||||
if msg.command == "401":
|
||||
@ -336,7 +337,11 @@ class BaseServicesController(_BaseController):
|
||||
while case.getRegistrationMessage(client).command != "001":
|
||||
pass
|
||||
case.getMessages(client)
|
||||
case.sendLine(client, f"PRIVMSG NickServ :REGISTER {password} foo@example.org")
|
||||
case.sendLine(
|
||||
client,
|
||||
f"PRIVMSG {self.server_controller.nickserv} "
|
||||
f":REGISTER {password} foo@example.org",
|
||||
)
|
||||
msgs = self.getNickServResponse(case.clients[client])
|
||||
if self.server_controller.software_name == "inspircd":
|
||||
assert "900" in {msg.command for msg in msgs}, msgs
|
||||
|
@ -39,6 +39,7 @@ from .numerics import (
|
||||
ERR_NEEDREGGEDNICK,
|
||||
ERR_NOSUCHCHANNEL,
|
||||
ERR_TOOMANYCHANNELS,
|
||||
RPL_HELLO,
|
||||
)
|
||||
from .specifications import Capabilities, IsupportTokens, Specifications
|
||||
|
||||
@ -558,7 +559,9 @@ class BaseServerTestCase(
|
||||
"""Filter notices, do not send pings."""
|
||||
while True:
|
||||
msg = self.getMessage(
|
||||
client, synchronize=False, filter_pred=lambda m: m.command != "NOTICE"
|
||||
client,
|
||||
synchronize=False,
|
||||
filter_pred=lambda m: m.command not in ("NOTICE", RPL_HELLO),
|
||||
)
|
||||
if msg.command == "PING":
|
||||
# Hi Unreal
|
||||
|
@ -76,7 +76,14 @@ class AnopeController(BaseServicesController, DirectoryBasedController):
|
||||
def run(self, protocol: str, server_hostname: str, server_port: int) -> None:
|
||||
self.create_config()
|
||||
|
||||
assert protocol in ("inspircd3", "charybdis", "hybrid", "plexus", "unreal4")
|
||||
assert protocol in (
|
||||
"bahamut",
|
||||
"inspircd3",
|
||||
"charybdis",
|
||||
"hybrid",
|
||||
"plexus",
|
||||
"unreal4",
|
||||
)
|
||||
|
||||
with self.open_file("conf/services.conf") as fd:
|
||||
fd.write(
|
||||
|
@ -61,7 +61,7 @@ class AthemeController(BaseServicesController, DirectoryBasedController):
|
||||
if protocol == "inspircd3":
|
||||
# That's the name used by Anope
|
||||
protocol = "inspircd"
|
||||
assert protocol in ("inspircd", "charybdis", "unreal4")
|
||||
assert protocol in ("bahamut", "inspircd", "charybdis", "unreal4")
|
||||
|
||||
with self.open_file("services.conf") as fd:
|
||||
fd.write(
|
||||
@ -86,7 +86,7 @@ class AthemeController(BaseServicesController, DirectoryBasedController):
|
||||
"-D",
|
||||
self.directory,
|
||||
],
|
||||
stdout=subprocess.DEVNULL,
|
||||
# stdout=subprocess.DEVNULL,
|
||||
# stderr=subprocess.DEVNULL,
|
||||
)
|
||||
|
||||
|
155
irctest/controllers/bahamut.py
Normal file
155
irctest/controllers/bahamut.py
Normal file
@ -0,0 +1,155 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
from typing import Optional, Set, Type
|
||||
|
||||
from irctest.basecontrollers import (
|
||||
BaseServerController,
|
||||
DirectoryBasedController,
|
||||
NotImplementedByController,
|
||||
)
|
||||
from irctest.irc_utils.junkdrawer import find_hostname_and_port
|
||||
|
||||
TEMPLATE_CONFIG = """
|
||||
global {{
|
||||
name My.Little.Server; # IRC name of the server
|
||||
info "located on earth"; # A short info line
|
||||
}};
|
||||
|
||||
options {{
|
||||
network_name unconfigured;
|
||||
allow_split_ops; # Give ops in empty channels
|
||||
|
||||
services_name services.example.org;
|
||||
|
||||
// if you need to link more than 1 server, uncomment the following line
|
||||
servtype hub;
|
||||
}};
|
||||
|
||||
/* where to listen for connections */
|
||||
port {{
|
||||
port {port};
|
||||
bind {hostname};
|
||||
}};
|
||||
|
||||
/* allow clients to connect */
|
||||
allow {{
|
||||
host *@*; # Allow anyone
|
||||
class users; # Place them in the users class
|
||||
flags T; # No throttling
|
||||
{password_field}
|
||||
}};
|
||||
|
||||
/* connection class for users */
|
||||
class {{
|
||||
name users; # Class name
|
||||
maxusers 100; # Maximum connections
|
||||
pingfreq 1000; # Check idle connections every N seconds
|
||||
maxsendq 100000; # 100KB send buffer limit
|
||||
}};
|
||||
|
||||
/* for services */
|
||||
super {{
|
||||
"services.example.org";
|
||||
}};
|
||||
|
||||
|
||||
/* class for services */
|
||||
class {{
|
||||
name services;
|
||||
pingfreq 60; # Idle check every minute
|
||||
maxsendq 5000000; # 5MB backlog buffer
|
||||
}};
|
||||
|
||||
/* our services */
|
||||
connect {{
|
||||
name services.example.org;
|
||||
host *@127.0.0.1; # unfortunately, masks aren't allowed here
|
||||
apasswd password;
|
||||
cpasswd password;
|
||||
class services;
|
||||
}};
|
||||
"""
|
||||
|
||||
|
||||
class BahamutController(BaseServerController, DirectoryBasedController):
|
||||
software_name = "Bahamut"
|
||||
supported_sasl_mechanisms: Set[str] = set()
|
||||
supports_sts = False
|
||||
nickserv = "NickServ@services.example.org"
|
||||
|
||||
def create_config(self) -> None:
|
||||
super().create_config()
|
||||
with self.open_file("server.conf"):
|
||||
pass
|
||||
|
||||
def run(
|
||||
self,
|
||||
hostname: str,
|
||||
port: int,
|
||||
*,
|
||||
password: Optional[str],
|
||||
ssl: bool,
|
||||
run_services: bool,
|
||||
valid_metadata_keys: Optional[Set[str]] = None,
|
||||
invalid_metadata_keys: Optional[Set[str]] = None,
|
||||
restricted_metadata_keys: Optional[Set[str]] = None,
|
||||
) -> None:
|
||||
if valid_metadata_keys or invalid_metadata_keys:
|
||||
raise NotImplementedByController(
|
||||
"Defining valid and invalid METADATA keys."
|
||||
)
|
||||
assert self.proc is None
|
||||
self.port = port
|
||||
self.hostname = hostname
|
||||
self.create_config()
|
||||
(unused_hostname, unused_port) = find_hostname_and_port()
|
||||
(services_hostname, services_port) = find_hostname_and_port()
|
||||
|
||||
password_field = "passwd {};".format(password) if password else ""
|
||||
|
||||
self.gen_ssl()
|
||||
|
||||
assert self.directory
|
||||
|
||||
# they are hardcoded... thankfully Bahamut reads them from the CWD.
|
||||
shutil.copy(self.pem_path, os.path.join(self.directory, "ircd.crt"))
|
||||
shutil.copy(self.key_path, os.path.join(self.directory, "ircd.key"))
|
||||
|
||||
with self.open_file("server.conf") as fd:
|
||||
fd.write(
|
||||
TEMPLATE_CONFIG.format(
|
||||
hostname=hostname,
|
||||
port=port,
|
||||
services_hostname=services_hostname,
|
||||
services_port=services_port,
|
||||
password_field=password_field,
|
||||
# key_path=self.key_path,
|
||||
# pem_path=self.pem_path,
|
||||
)
|
||||
)
|
||||
self.proc = subprocess.Popen(
|
||||
[
|
||||
# "strace", "-f", "-e", "file",
|
||||
"ircd",
|
||||
"-t", # don't fork
|
||||
"-f",
|
||||
os.path.join(self.directory, "server.conf"),
|
||||
],
|
||||
# stdout=subprocess.DEVNULL,
|
||||
)
|
||||
|
||||
if run_services:
|
||||
self.wait_for_port()
|
||||
self.services_controller = self.services_controller_class(
|
||||
self.test_config, self
|
||||
)
|
||||
self.services_controller.run(
|
||||
protocol="bahamut",
|
||||
server_hostname=hostname,
|
||||
server_port=port,
|
||||
)
|
||||
|
||||
|
||||
def get_irctest_controller_class() -> Type[BahamutController]:
|
||||
return BahamutController
|
@ -16,6 +16,7 @@ RPL_MYINFO = "004"
|
||||
RPL_ISUPPORT = "005"
|
||||
RPL_SNOMASKIS = "008"
|
||||
RPL_BOUNCE = "010"
|
||||
RPL_HELLO = "020"
|
||||
RPL_TRACELINK = "200"
|
||||
RPL_TRACECONNECTING = "201"
|
||||
RPL_TRACEHANDSHAKE = "202"
|
||||
|
@ -2,6 +2,7 @@
|
||||
correctly. Also checks truncation"""
|
||||
|
||||
import socket
|
||||
import time
|
||||
|
||||
import pytest
|
||||
|
||||
@ -81,7 +82,7 @@ class BufferingTestCase(cases.BaseServerTestCase):
|
||||
continue
|
||||
|
||||
received_line = self._getLine(2)
|
||||
print("(repr) S -> 2:", repr(received_line))
|
||||
print("(repr) S -> 2", repr(received_line))
|
||||
try:
|
||||
decoded_line = received_line.decode()
|
||||
except UnicodeDecodeError:
|
||||
@ -117,11 +118,13 @@ class BufferingTestCase(cases.BaseServerTestCase):
|
||||
|
||||
def _getLine(self, client) -> bytes:
|
||||
line = b""
|
||||
while True:
|
||||
for _ in range(600):
|
||||
try:
|
||||
data = self.clients[client].conn.recv(4096)
|
||||
except socket.timeout:
|
||||
data = b""
|
||||
line += data
|
||||
if not data or data.endswith(b"\r\n"):
|
||||
if data.endswith(b"\r\n"):
|
||||
return line
|
||||
time.sleep(0.1)
|
||||
return line
|
||||
|
@ -897,15 +897,29 @@ class KeyTestCase(cases.BaseServerTestCase):
|
||||
reply = self.getMessages(2)
|
||||
self.assertMessageMatch(reply[0], command="JOIN", params=["#chan"])
|
||||
|
||||
@cases.mark_specifications("RFC2812")
|
||||
@cases.mark_specifications("RFC2812", "Modern")
|
||||
def testKeyValidation(self):
|
||||
"""
|
||||
key = 1*23( %x01-05 / %x07-08 / %x0C / %x0E-1F / %x21-7F )
|
||||
; any 7-bit US_ASCII character,
|
||||
; except NUL, CR, LF, FF, h/v TABs, and " "
|
||||
<https://tools.ietf.org/html/rfc2812#page-8>
|
||||
-- https://tools.ietf.org/html/rfc2812#page-8
|
||||
|
||||
"Servers may validate the value (eg. to forbid spaces, as they make it harder
|
||||
to use the key in `JOIN` messages). If the value is invalid, they SHOULD
|
||||
return [`ERR_INVALIDMODEPARAM`](#errinvalidmodeparam-696).
|
||||
However, clients MUST be able to handle any of the following:
|
||||
|
||||
* [`ERR_INVALIDMODEPARAM`](#errinvalidmodeparam-696)
|
||||
* [`ERR_INVALIDKEY`](#errinvalidkey-525)
|
||||
* `MODE` echoed with a different key (eg. truncated or stripped of invalid
|
||||
characters)
|
||||
* the key changed ignored, and no `MODE` echoed if no other mode change
|
||||
was valid.
|
||||
"
|
||||
-- https://modern.ircdocs.horse/#key-channel-mode
|
||||
-- https://github.com/ircdocs/modern-irc/pull/107
|
||||
"""
|
||||
# oragono issue #1021
|
||||
self.connectClient("bar")
|
||||
self.joinChannel(1, "#chan")
|
||||
self.sendLine(1, "MODE #chan +k :passphrase with spaces")
|
||||
@ -927,6 +941,15 @@ class KeyTestCase(cases.BaseServerTestCase):
|
||||
# First option: ERR_INVALIDMODEPARAM (eg. Ergo)
|
||||
return
|
||||
|
||||
if not replies:
|
||||
# MODE was ignored entirely
|
||||
self.connectClient("foo")
|
||||
self.sendLine(2, "JOIN #chan")
|
||||
self.assertMessageMatch(
|
||||
self.getMessage(2), command="JOIN", params=["#chan"]
|
||||
)
|
||||
return
|
||||
|
||||
# Second and third options: truncating the key (eg. UnrealIRCd)
|
||||
# or replacing spaces (eg. Charybdis)
|
||||
mode_commands = [msg for msg in replies if msg.command == "MODE"]
|
||||
|
@ -38,6 +38,7 @@ def validate_chathistory_batch(msgs):
|
||||
return result
|
||||
|
||||
|
||||
@cases.mark_specifications("IRCv3")
|
||||
@cases.mark_services
|
||||
class ChathistoryTestCase(cases.BaseServerTestCase):
|
||||
@staticmethod
|
||||
|
@ -118,7 +118,12 @@ class ConnectionRegistrationTestCase(cases.BaseServerTestCase):
|
||||
self.sendLine(1, "NICK foo")
|
||||
self.sendLine(2, "NICK foo")
|
||||
self.sendLine(1, "USER username * * :Realname")
|
||||
self.sendLine(2, "USER username * * :Realname")
|
||||
|
||||
try:
|
||||
self.sendLine(2, "USER username * * :Realname")
|
||||
except (ConnectionClosed, ConnectionResetError):
|
||||
# Bahamut closes the connection here
|
||||
pass
|
||||
|
||||
try:
|
||||
m1 = self.getRegistrationMessage(1)
|
||||
|
@ -4,6 +4,7 @@ from irctest.patma import ANYSTR
|
||||
REGISTER_CAP_NAME = "draft/account-registration"
|
||||
|
||||
|
||||
@cases.mark_specifications("IRCv3")
|
||||
class TestRegisterBeforeConnect(cases.BaseServerTestCase):
|
||||
@staticmethod
|
||||
def config() -> cases.TestCaseControllerConfig:
|
||||
@ -27,6 +28,7 @@ class TestRegisterBeforeConnect(cases.BaseServerTestCase):
|
||||
self.assertMessageMatch(register_response, params=["SUCCESS", ANYSTR, ANYSTR])
|
||||
|
||||
|
||||
@cases.mark_specifications("IRCv3")
|
||||
class TestRegisterBeforeConnectDisallowed(cases.BaseServerTestCase):
|
||||
@staticmethod
|
||||
def config() -> cases.TestCaseControllerConfig:
|
||||
@ -53,6 +55,7 @@ class TestRegisterBeforeConnectDisallowed(cases.BaseServerTestCase):
|
||||
)
|
||||
|
||||
|
||||
@cases.mark_specifications("IRCv3")
|
||||
class TestRegisterEmailVerified(cases.BaseServerTestCase):
|
||||
@staticmethod
|
||||
def config() -> cases.TestCaseControllerConfig:
|
||||
@ -102,6 +105,7 @@ class TestRegisterEmailVerified(cases.BaseServerTestCase):
|
||||
)
|
||||
|
||||
|
||||
@cases.mark_specifications("IRCv3")
|
||||
class TestRegisterNoLandGrabs(cases.BaseServerTestCase):
|
||||
@staticmethod
|
||||
def config() -> cases.TestCaseControllerConfig:
|
||||
|
@ -166,7 +166,7 @@ class RegressionsTestCase(cases.BaseServerTestCase):
|
||||
m = self.getRegistrationMessage(3)
|
||||
self.assertMessageMatch(m, command=RPL_WELCOME)
|
||||
|
||||
@cases.mark_specifications("RFC1459")
|
||||
@cases.mark_specifications("Ergo")
|
||||
def testNickReleaseUnregistered(self):
|
||||
self.addClient(1)
|
||||
self.sendLine(1, "NICK alice")
|
||||
|
@ -211,7 +211,7 @@ def get_test_job(*, config, test_config, test_id, version_flavor, jobs):
|
||||
"name": "Install irctest dependencies",
|
||||
"run": script(
|
||||
"python -m pip install --upgrade pip",
|
||||
"pip install pytest -r requirements.txt",
|
||||
"pip install pytest pytest-xdist -r requirements.txt",
|
||||
*(
|
||||
software_config["extra_deps"]
|
||||
if "extra_deps" in software_config
|
||||
|
@ -92,6 +92,30 @@ software:
|
||||
|
||||
#############################
|
||||
# Other servers:
|
||||
bahamut:
|
||||
name: Bahamut
|
||||
repository: DALnet/Bahamut
|
||||
refs:
|
||||
stable: "v2.2.0"
|
||||
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/bahamut_localhost.patch
|
||||
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
|
||||
@ -188,6 +212,15 @@ software:
|
||||
devel_release: null
|
||||
|
||||
tests:
|
||||
bahamut:
|
||||
software: [bahamut]
|
||||
|
||||
bahamut-atheme:
|
||||
software: [bahamut]
|
||||
|
||||
bahamut-anope:
|
||||
software: [bahamut, anope]
|
||||
|
||||
charybdis:
|
||||
software: [charybdis]
|
||||
|
||||
|
Reference in New Issue
Block a user