2 Commits

Author SHA1 Message Date
e90b14a44b Merge branch 'master' into join-key 2024-06-01 15:53:09 +02:00
739d459017 Add tests for joining channels with keys 2024-06-01 15:50:28 +02:00
9 changed files with 411 additions and 551 deletions

View File

@ -8,7 +8,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-anope-devel key: 3-${{ runner.os }}-anope-devel
path: '~/.cache path: '~/.cache
@ -16,13 +16,13 @@ jobs:
${ github.workspace }/anope ${ github.workspace }/anope
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Anope - name: Checkout Anope
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: anope path: anope
ref: '2.1' ref: '2.1'
@ -37,7 +37,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -48,7 +48,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-bahamut-devel key: 3-${{ runner.os }}-bahamut-devel
path: '~/.cache path: '~/.cache
@ -56,13 +56,13 @@ jobs:
${ github.workspace }/Bahamut ${ github.workspace }/Bahamut
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Bahamut - name: Checkout Bahamut
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: Bahamut path: Bahamut
ref: master ref: master
@ -90,7 +90,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-bahamut.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-bahamut.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -101,7 +101,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-hybrid-devel key: 3-${{ runner.os }}-hybrid-devel
path: '~/.cache path: '~/.cache
@ -109,13 +109,13 @@ jobs:
${ github.workspace }/ircd-hybrid ${ github.workspace }/ircd-hybrid
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Hybrid - name: Checkout Hybrid
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ircd-hybrid path: ircd-hybrid
ref: 8.2.x ref: 8.2.x
@ -129,7 +129,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-hybrid.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-hybrid.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-hybrid name: installed-hybrid
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -139,13 +139,13 @@ jobs:
steps: steps:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout InspIRCd - name: Checkout InspIRCd
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: inspircd path: inspircd
ref: master ref: master
@ -159,7 +159,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -170,7 +170,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-ngircd-devel key: 3-${{ runner.os }}-ngircd-devel
path: '~/.cache path: '~/.cache
@ -178,13 +178,13 @@ jobs:
${ github.workspace }/ngircd ${ github.workspace }/ngircd
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout ngircd - name: Checkout ngircd
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ngircd path: ngircd
ref: master ref: master
@ -200,7 +200,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-ngircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-ngircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -211,7 +211,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-plexus4-devel key: 3-${{ runner.os }}-plexus4-devel
path: '~/.cache path: '~/.cache
@ -219,9 +219,9 @@ jobs:
${ github.workspace }/placeholder ${ github.workspace }/placeholder
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: clone - name: clone
@ -242,7 +242,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-plexus4.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-plexus4.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-plexus4 name: installed-plexus4
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -253,7 +253,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-solanum-devel key: 3-${{ runner.os }}-solanum-devel
path: '~/.cache path: '~/.cache
@ -261,13 +261,13 @@ jobs:
${ github.workspace }/solanum ${ github.workspace }/solanum
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Solanum - name: Checkout Solanum
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: solanum path: solanum
ref: main ref: main
@ -282,7 +282,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-solanum.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-solanum.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-solanum name: installed-solanum
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -293,7 +293,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-unrealircd-devel key: 3-${{ runner.os }}-unrealircd-devel
path: '~/.cache path: '~/.cache
@ -301,13 +301,13 @@ jobs:
${ github.workspace }/unrealircd ${ github.workspace }/unrealircd
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout UnrealIRCd 6 - name: Checkout UnrealIRCd 6
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: unrealircd path: unrealircd
ref: unreal60_dev ref: unreal60_dev
@ -328,7 +328,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-unrealircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-unrealircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -339,7 +339,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-unrealircd-5-devel key: 3-${{ runner.os }}-unrealircd-5-devel
path: '~/.cache path: '~/.cache
@ -347,13 +347,13 @@ jobs:
${ github.workspace }/unrealircd ${ github.workspace }/unrealircd
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout UnrealIRCd 5 - name: Checkout UnrealIRCd 5
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: unrealircd path: unrealircd
ref: unreal52 ref: unreal52
@ -374,7 +374,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-unrealircd-5.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-unrealircd-5.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-unrealircd-5 name: installed-unrealircd-5
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -408,9 +408,9 @@ jobs:
- test-unrealircd-dlk - test-unrealircd-dlk
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
path: artifacts path: artifacts
- name: Install dashboard dependencies - name: Install dashboard dependencies
@ -435,13 +435,13 @@ jobs:
- build-bahamut - build-bahamut
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: '~' path: '~'
@ -459,7 +459,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_bahamut_devel name: pytest-results_bahamut_devel
path: pytest.xml path: pytest.xml
@ -469,18 +469,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -498,7 +498,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_bahamut-anope_devel name: pytest-results_bahamut-anope_devel
path: pytest.xml path: pytest.xml
@ -507,13 +507,13 @@ jobs:
- build-bahamut - build-bahamut
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: '~' path: '~'
@ -531,7 +531,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_bahamut-atheme_devel name: pytest-results_bahamut-atheme_devel
path: pytest.xml path: pytest.xml
@ -539,13 +539,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Ergo - name: Checkout Ergo
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ergo path: ergo
ref: master ref: master
@ -571,7 +571,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ergo_devel name: pytest-results_ergo_devel
path: pytest.xml path: pytest.xml
@ -581,18 +581,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-hybrid name: installed-hybrid
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -610,7 +610,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_hybrid_devel name: pytest-results_hybrid_devel
path: pytest.xml path: pytest.xml
@ -619,13 +619,13 @@ jobs:
- build-inspircd - build-inspircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
@ -643,7 +643,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd_devel name: pytest-results_inspircd_devel
path: pytest.xml path: pytest.xml
@ -653,18 +653,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -682,7 +682,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd-anope_devel name: pytest-results_inspircd-anope_devel
path: pytest.xml path: pytest.xml
@ -690,13 +690,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout ircu2 - name: Checkout ircu2
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ircu2 path: ircu2
ref: u2_10_12_branch ref: u2_10_12_branch
@ -721,7 +721,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ircu2_devel name: pytest-results_ircu2_devel
path: pytest.xml path: pytest.xml
@ -729,9 +729,9 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Install dependencies - name: Install dependencies
@ -749,7 +749,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_limnoria_devel name: pytest-results_limnoria_devel
path: pytest.xml path: pytest.xml
@ -757,13 +757,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout nefarious - name: Checkout nefarious
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: nefarious path: nefarious
ref: master ref: master
@ -787,7 +787,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_nefarious_devel name: pytest-results_nefarious_devel
path: pytest.xml path: pytest.xml
@ -796,13 +796,13 @@ jobs:
- build-ngircd - build-ngircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: '~' path: '~'
@ -820,7 +820,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ngircd_devel name: pytest-results_ngircd_devel
path: pytest.xml path: pytest.xml
@ -830,18 +830,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -859,7 +859,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ngircd-anope_devel name: pytest-results_ngircd-anope_devel
path: pytest.xml path: pytest.xml
@ -868,13 +868,13 @@ jobs:
- build-ngircd - build-ngircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: '~' path: '~'
@ -892,7 +892,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ngircd-atheme_devel name: pytest-results_ngircd-atheme_devel
path: pytest.xml path: pytest.xml
@ -902,18 +902,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-plexus4 name: installed-plexus4
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -931,7 +931,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_plexus4_devel name: pytest-results_plexus4_devel
path: pytest.xml path: pytest.xml
@ -939,13 +939,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Sable - name: Checkout Sable
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: sable path: sable
ref: master ref: master
@ -978,7 +978,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_sable_devel name: pytest-results_sable_devel
path: pytest.xml path: pytest.xml
@ -987,13 +987,13 @@ jobs:
- build-solanum - build-solanum
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-solanum name: installed-solanum
path: '~' path: '~'
@ -1011,7 +1011,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_solanum_devel name: pytest-results_solanum_devel
path: pytest.xml path: pytest.xml
@ -1019,9 +1019,9 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Install dependencies - name: Install dependencies
@ -1038,7 +1038,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_sopel_devel name: pytest-results_sopel_devel
path: pytest.xml path: pytest.xml
@ -1046,13 +1046,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout TheLounge - name: Checkout TheLounge
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: thelounge path: thelounge
ref: master ref: master
@ -1076,7 +1076,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_thelounge_devel name: pytest-results_thelounge_devel
path: pytest.xml path: pytest.xml
@ -1085,13 +1085,13 @@ jobs:
- build-unrealircd - build-unrealircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
@ -1109,7 +1109,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd_devel name: pytest-results_unrealircd_devel
path: pytest.xml path: pytest.xml
@ -1118,13 +1118,13 @@ jobs:
- build-unrealircd-5 - build-unrealircd-5
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd-5 name: installed-unrealircd-5
path: '~' path: '~'
@ -1142,7 +1142,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-5_devel name: pytest-results_unrealircd-5_devel
path: pytest.xml path: pytest.xml
@ -1152,18 +1152,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -1181,7 +1181,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-anope_devel name: pytest-results_unrealircd-anope_devel
path: pytest.xml path: pytest.xml
@ -1190,13 +1190,13 @@ jobs:
- build-unrealircd - build-unrealircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
@ -1214,7 +1214,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-atheme_devel name: pytest-results_unrealircd-atheme_devel
path: pytest.xml path: pytest.xml
@ -1223,20 +1223,20 @@ jobs:
- build-unrealircd - build-unrealircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
- name: Unpack artefacts - name: Unpack artefacts
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \;
- name: Checkout Dlk - name: Checkout Dlk
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: Dlk-Services path: Dlk-Services
ref: main ref: main
@ -1260,7 +1260,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-dlk_devel name: pytest-results_unrealircd-dlk_devel
path: pytest.xml path: pytest.xml

View File

@ -8,7 +8,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-anope-devel_release key: 3-${{ runner.os }}-anope-devel_release
path: '~/.cache path: '~/.cache
@ -16,13 +16,13 @@ jobs:
${ github.workspace }/anope ${ github.workspace }/anope
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Anope - name: Checkout Anope
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: anope path: anope
ref: '2.0' ref: '2.0'
@ -37,7 +37,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -47,13 +47,13 @@ jobs:
steps: steps:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout InspIRCd - name: Checkout InspIRCd
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: inspircd path: inspircd
ref: insp3 ref: insp3
@ -67,7 +67,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -81,9 +81,9 @@ jobs:
- test-inspircd-atheme - test-inspircd-atheme
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
path: artifacts path: artifacts
- name: Install dashboard dependencies - name: Install dashboard dependencies
@ -108,13 +108,13 @@ jobs:
- build-inspircd - build-inspircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
@ -132,7 +132,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd_devel_release name: pytest-results_inspircd_devel_release
path: pytest.xml path: pytest.xml
@ -142,18 +142,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -171,7 +171,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd-anope_devel_release name: pytest-results_inspircd-anope_devel_release
path: pytest.xml path: pytest.xml
@ -180,13 +180,13 @@ jobs:
- build-inspircd - build-inspircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
@ -204,7 +204,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd-atheme_devel_release name: pytest-results_inspircd-atheme_devel_release
path: pytest.xml path: pytest.xml

View File

@ -8,7 +8,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-anope-stable key: 3-${{ runner.os }}-anope-stable
path: '~/.cache path: '~/.cache
@ -16,13 +16,13 @@ jobs:
${ github.workspace }/anope ${ github.workspace }/anope
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Anope - name: Checkout Anope
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: anope path: anope
ref: 2.0.14 ref: 2.0.14
@ -37,7 +37,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -48,7 +48,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-bahamut-stable key: 3-${{ runner.os }}-bahamut-stable
path: '~/.cache path: '~/.cache
@ -56,13 +56,13 @@ jobs:
${ github.workspace }/Bahamut ${ github.workspace }/Bahamut
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Bahamut - name: Checkout Bahamut
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: Bahamut path: Bahamut
ref: v2.2.1 ref: v2.2.1
@ -90,7 +90,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-bahamut.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-bahamut.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -101,7 +101,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-charybdis-stable key: 3-${{ runner.os }}-charybdis-stable
path: '~/.cache path: '~/.cache
@ -109,13 +109,13 @@ jobs:
${ github.workspace }/charybdis ${ github.workspace }/charybdis
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Charybdis - name: Checkout Charybdis
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: charybdis path: charybdis
ref: charybdis-4.1.2 ref: charybdis-4.1.2
@ -131,7 +131,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-charybdis.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-charybdis.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-charybdis name: installed-charybdis
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -142,7 +142,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-hybrid-stable key: 3-${{ runner.os }}-hybrid-stable
path: '~/.cache path: '~/.cache
@ -150,13 +150,13 @@ jobs:
${ github.workspace }/ircd-hybrid ${ github.workspace }/ircd-hybrid
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Hybrid - name: Checkout Hybrid
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ircd-hybrid path: ircd-hybrid
ref: 8.2.39 ref: 8.2.39
@ -170,7 +170,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-hybrid.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-hybrid.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-hybrid name: installed-hybrid
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -180,13 +180,13 @@ jobs:
steps: steps:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout InspIRCd - name: Checkout InspIRCd
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: inspircd path: inspircd
ref: v3.17.0 ref: v3.17.0
@ -200,7 +200,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -211,7 +211,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-ngircd-stable key: 3-${{ runner.os }}-ngircd-stable
path: '~/.cache path: '~/.cache
@ -219,13 +219,13 @@ jobs:
${ github.workspace }/ngircd ${ github.workspace }/ngircd
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout ngircd - name: Checkout ngircd
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ngircd path: ngircd
ref: 3e3f6cbeceefd9357b53b27c2386bb39306ab353 ref: 3e3f6cbeceefd9357b53b27c2386bb39306ab353
@ -241,7 +241,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-ngircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-ngircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -252,7 +252,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-plexus4-stable key: 3-${{ runner.os }}-plexus4-stable
path: '~/.cache path: '~/.cache
@ -260,9 +260,9 @@ jobs:
${ github.workspace }/placeholder ${ github.workspace }/placeholder
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: clone - name: clone
@ -283,7 +283,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-plexus4.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-plexus4.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-plexus4 name: installed-plexus4
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -294,7 +294,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-solanum-stable key: 3-${{ runner.os }}-solanum-stable
path: '~/.cache path: '~/.cache
@ -302,13 +302,13 @@ jobs:
${ github.workspace }/solanum ${ github.workspace }/solanum
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Solanum - name: Checkout Solanum
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: solanum path: solanum
ref: 492d560ee13e71dc35403fd676e58c2d5bdcf2a9 ref: 492d560ee13e71dc35403fd676e58c2d5bdcf2a9
@ -323,7 +323,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-solanum.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-solanum.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-solanum name: installed-solanum
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -334,7 +334,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-unrealircd-stable key: 3-${{ runner.os }}-unrealircd-stable
path: '~/.cache path: '~/.cache
@ -342,13 +342,13 @@ jobs:
${ github.workspace }/unrealircd ${ github.workspace }/unrealircd
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout UnrealIRCd 6 - name: Checkout UnrealIRCd 6
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: unrealircd path: unrealircd
ref: da3c1c654481a33035b9c703957e1c25d0158259 ref: da3c1c654481a33035b9c703957e1c25d0158259
@ -369,7 +369,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-unrealircd.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-unrealircd.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -380,7 +380,7 @@ jobs:
- name: Create directories - name: Create directories
run: cd ~/; mkdir -p .local/ go/ run: cd ~/; mkdir -p .local/ go/
- name: Cache dependencies - name: Cache dependencies
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
key: 3-${{ runner.os }}-unrealircd-5-stable key: 3-${{ runner.os }}-unrealircd-5-stable
path: '~/.cache path: '~/.cache
@ -388,13 +388,13 @@ jobs:
${ github.workspace }/unrealircd ${ github.workspace }/unrealircd
' '
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout UnrealIRCd 5 - name: Checkout UnrealIRCd 5
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: unrealircd path: unrealircd
ref: 6604856973f713a494f83d38992d7d61ce6b9db4 ref: 6604856973f713a494f83d38992d7d61ce6b9db4
@ -415,7 +415,7 @@ jobs:
- name: Make artefact tarball - name: Make artefact tarball
run: cd ~; tar -czf artefacts-unrealircd-5.tar.gz .local/ go/ run: cd ~; tar -czf artefacts-unrealircd-5.tar.gz .local/ go/
- name: Upload build artefacts - name: Upload build artefacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: installed-unrealircd-5 name: installed-unrealircd-5
path: ~/artefacts-*.tar.gz path: ~/artefacts-*.tar.gz
@ -451,9 +451,9 @@ jobs:
- test-unrealircd-atheme - test-unrealircd-atheme
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
path: artifacts path: artifacts
- name: Install dashboard dependencies - name: Install dashboard dependencies
@ -478,13 +478,13 @@ jobs:
- build-bahamut - build-bahamut
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: '~' path: '~'
@ -502,7 +502,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_bahamut_stable name: pytest-results_bahamut_stable
path: pytest.xml path: pytest.xml
@ -512,18 +512,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -541,7 +541,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_bahamut-anope_stable name: pytest-results_bahamut-anope_stable
path: pytest.xml path: pytest.xml
@ -550,13 +550,13 @@ jobs:
- build-bahamut - build-bahamut
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-bahamut name: installed-bahamut
path: '~' path: '~'
@ -574,7 +574,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_bahamut-atheme_stable name: pytest-results_bahamut-atheme_stable
path: pytest.xml path: pytest.xml
@ -583,13 +583,13 @@ jobs:
- build-charybdis - build-charybdis
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-charybdis name: installed-charybdis
path: '~' path: '~'
@ -607,7 +607,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_charybdis_stable name: pytest-results_charybdis_stable
path: pytest.xml path: pytest.xml
@ -615,13 +615,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Ergo - name: Checkout Ergo
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ergo path: ergo
ref: irctest_stable ref: irctest_stable
@ -647,7 +647,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ergo_stable name: pytest-results_ergo_stable
path: pytest.xml path: pytest.xml
@ -657,18 +657,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-hybrid name: installed-hybrid
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -686,7 +686,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_hybrid_stable name: pytest-results_hybrid_stable
path: pytest.xml path: pytest.xml
@ -695,13 +695,13 @@ jobs:
- build-inspircd - build-inspircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
@ -719,7 +719,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd_stable name: pytest-results_inspircd_stable
path: pytest.xml path: pytest.xml
@ -729,18 +729,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -758,7 +758,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd-anope_stable name: pytest-results_inspircd-anope_stable
path: pytest.xml path: pytest.xml
@ -767,13 +767,13 @@ jobs:
- build-inspircd - build-inspircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-inspircd name: installed-inspircd
path: '~' path: '~'
@ -791,7 +791,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_inspircd-atheme_stable name: pytest-results_inspircd-atheme_stable
path: pytest.xml path: pytest.xml
@ -799,13 +799,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout irc2 - name: Checkout irc2
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: irc2.11.2p3 path: irc2.11.2p3
ref: 59649f24c3a5c27bad5648b48774f27475bccfd3 ref: 59649f24c3a5c27bad5648b48774f27475bccfd3
@ -841,7 +841,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_irc2_stable name: pytest-results_irc2_stable
path: pytest.xml path: pytest.xml
@ -849,13 +849,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout ircu2 - name: Checkout ircu2
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: ircu2 path: ircu2
ref: u2.10.12.19 ref: u2.10.12.19
@ -880,7 +880,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ircu2_stable name: pytest-results_ircu2_stable
path: pytest.xml path: pytest.xml
@ -888,9 +888,9 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Install dependencies - name: Install dependencies
@ -907,7 +907,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_limnoria_stable name: pytest-results_limnoria_stable
path: pytest.xml path: pytest.xml
@ -915,13 +915,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout nefarious - name: Checkout nefarious
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: nefarious path: nefarious
ref: 985704168ecada12d9e53b46df6087ef9d9fb40b ref: 985704168ecada12d9e53b46df6087ef9d9fb40b
@ -945,7 +945,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_nefarious_stable name: pytest-results_nefarious_stable
path: pytest.xml path: pytest.xml
@ -954,13 +954,13 @@ jobs:
- build-ngircd - build-ngircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: '~' path: '~'
@ -978,7 +978,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ngircd_stable name: pytest-results_ngircd_stable
path: pytest.xml path: pytest.xml
@ -988,18 +988,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -1017,7 +1017,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ngircd-anope_stable name: pytest-results_ngircd-anope_stable
path: pytest.xml path: pytest.xml
@ -1026,13 +1026,13 @@ jobs:
- build-ngircd - build-ngircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-ngircd name: installed-ngircd
path: '~' path: '~'
@ -1050,7 +1050,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_ngircd-atheme_stable name: pytest-results_ngircd-atheme_stable
path: pytest.xml path: pytest.xml
@ -1060,18 +1060,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-plexus4 name: installed-plexus4
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -1089,7 +1089,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_plexus4_stable name: pytest-results_plexus4_stable
path: pytest.xml path: pytest.xml
@ -1097,13 +1097,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout Sable - name: Checkout Sable
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: sable path: sable
ref: e9701e5e8d0c4f278ddd61ce7285f4918ecf99e9 ref: e9701e5e8d0c4f278ddd61ce7285f4918ecf99e9
@ -1136,7 +1136,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_sable_stable name: pytest-results_sable_stable
path: pytest.xml path: pytest.xml
@ -1145,13 +1145,13 @@ jobs:
- build-solanum - build-solanum
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-solanum name: installed-solanum
path: '~' path: '~'
@ -1169,7 +1169,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_solanum_stable name: pytest-results_solanum_stable
path: pytest.xml path: pytest.xml
@ -1177,9 +1177,9 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Install dependencies - name: Install dependencies
@ -1196,7 +1196,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_sopel_stable name: pytest-results_sopel_stable
path: pytest.xml path: pytest.xml
@ -1204,13 +1204,13 @@ jobs:
needs: [] needs: []
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Checkout TheLounge - name: Checkout TheLounge
uses: actions/checkout@v4 uses: actions/checkout@v3
with: with:
path: thelounge path: thelounge
ref: v4.4.0 ref: v4.4.0
@ -1234,7 +1234,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_thelounge_stable name: pytest-results_thelounge_stable
path: pytest.xml path: pytest.xml
@ -1243,13 +1243,13 @@ jobs:
- build-unrealircd - build-unrealircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
@ -1267,7 +1267,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd_stable name: pytest-results_unrealircd_stable
path: pytest.xml path: pytest.xml
@ -1276,13 +1276,13 @@ jobs:
- build-unrealircd-5 - build-unrealircd-5
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd-5 name: installed-unrealircd-5
path: '~' path: '~'
@ -1300,7 +1300,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-5_stable name: pytest-results_unrealircd-5_stable
path: pytest.xml path: pytest.xml
@ -1310,18 +1310,18 @@ jobs:
- build-anope - build-anope
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-anope name: installed-anope
path: '~' path: '~'
@ -1339,7 +1339,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-anope_stable name: pytest-results_unrealircd-anope_stable
path: pytest.xml path: pytest.xml
@ -1348,13 +1348,13 @@ jobs:
- build-unrealircd - build-unrealircd
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up Python 3.11 - name: Set up Python 3.11
uses: actions/setup-python@v5 uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.11
- name: Download build artefacts - name: Download build artefacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: installed-unrealircd name: installed-unrealircd
path: '~' path: '~'
@ -1372,7 +1372,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
- if: always() - if: always()
name: Publish results name: Publish results
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: pytest-results_unrealircd-atheme_stable name: pytest-results_unrealircd-atheme_stable
path: pytest.xml path: pytest.xml

View File

@ -58,11 +58,6 @@ BASE_CONFIG = {
"enabled": True, "enabled": True,
"method": "strict", "method": "strict",
}, },
"login-throttling": {
"enabled": True,
"duration": "1m",
"max-attempts": 3,
},
}, },
"channels": {"registration": {"enabled": True}}, "channels": {"registration": {"enabled": True}},
"datastore": {"path": None}, "datastore": {"path": None},

View File

@ -48,7 +48,9 @@ TEMPLATE_CONFIG = """
sendpass="password" sendpass="password"
> >
<module name="spanningtree"> <module name="spanningtree">
<module name="services_account">
<module name="hidechans"> # Anope errors when missing <module name="hidechans"> # Anope errors when missing
<module name="svshold"> # Atheme raises a warning when missing
<sasl requiressl="no" <sasl requiressl="no"
target="services.example.org"> target="services.example.org">
@ -69,10 +71,14 @@ TEMPLATE_CONFIG = """
<module name="ircv3_servertime"> <module name="ircv3_servertime">
<module name="monitor"> <module name="monitor">
<module name="m_muteban"> # for testing mute extbans <module name="m_muteban"> # for testing mute extbans
<module name="namesx"> # For multi-prefix
<module name="sasl"> <module name="sasl">
<module name="uhnames"> # For userhost-in-names <module name="uhnames"> # For userhost-in-names
# HELP/HELPOP
<module name="alias"> # for the HELP alias <module name="alias"> # for the HELP alias
{version_config} <module name="{help_module_name}">
<include file="examples/{help_module_name}.conf.example">
# Misc: # Misc:
<log method="file" type="*" level="debug" target="/tmp/ircd-{port}.log"> <log method="file" type="*" level="debug" target="/tmp/ircd-{port}.log">
@ -84,26 +90,6 @@ TEMPLATE_SSL_CONFIG = """
<openssl certfile="{pem_path}" keyfile="{key_path}" dhfile="{dh_path}" hash="sha1"> <openssl certfile="{pem_path}" keyfile="{key_path}" dhfile="{dh_path}" hash="sha1">
""" """
TEMPLATE_V3_CONFIG = """
<module name="namesx"> # For multi-prefix
<module name="services_account">
<module name="svshold"> # Atheme raises a warning when missing
# HELP/HELPOP
<module name="helpop">
<include file="examples/helpop.conf.example">
"""
TEMPLATE_V4_CONFIG = """
<module name="account">
<module name="multiprefix"> # For multi-prefix
<module name="services">
# HELP/HELPOP
<module name="help">
<include file="examples/help.conf.example">
"""
@functools.lru_cache() @functools.lru_cache()
def installed_version() -> int: def installed_version() -> int:
@ -112,9 +98,8 @@ def installed_version() -> int:
return 3 return 3
if output.startswith("InspIRCd-4"): if output.startswith("InspIRCd-4"):
return 4 return 4
if output.startswith("InspIRCd-5"): else:
return 5 assert False, f"unexpected version: {output}"
assert False, f"unexpected version: {output}"
class InspircdController(BaseServerController, DirectoryBasedController): class InspircdController(BaseServerController, DirectoryBasedController):
@ -156,9 +141,9 @@ class InspircdController(BaseServerController, DirectoryBasedController):
ssl_config = "" ssl_config = ""
if installed_version() == 3: if installed_version() == 3:
version_config = TEMPLATE_V3_CONFIG help_module_name = "helpop"
elif installed_version() >= 4: elif installed_version() == 4:
version_config = TEMPLATE_V4_CONFIG help_module_name = "help"
else: else:
assert False, f"unexpected version: {installed_version()}" assert False, f"unexpected version: {installed_version()}"
@ -171,7 +156,7 @@ class InspircdController(BaseServerController, DirectoryBasedController):
services_port=services_port, services_port=services_port,
password_field=password_field, password_field=password_field,
ssl_config=ssl_config, ssl_config=ssl_config,
version_config=version_config, help_module_name=help_module_name,
) )
) )
assert self.directory assert self.directory

View File

@ -86,10 +86,10 @@ class BufferingTestCase(cases.BaseServerTestCase):
if messages and ERR_INPUTTOOLONG in (m.command for m in messages): if messages and ERR_INPUTTOOLONG in (m.command for m in messages):
# https://defs.ircdocs.horse/defs/numerics.html#err-inputtoolong-417 # https://defs.ircdocs.horse/defs/numerics.html#err-inputtoolong-417
self.assertGreater( self.assertGreater(
len((line + payload + "\r\n").encode()), len(line + payload + "\r\n"),
512 - overhead, 512 - overhead,
"Got ERR_INPUTTOOLONG for a message that should fit " "Got ERR_INPUTTOOLONG for a messag that should fit "
"within 512 characters.", "withing 512 characters.",
) )
continue continue
@ -125,24 +125,11 @@ class BufferingTestCase(cases.BaseServerTestCase):
f"expected payload to be a prefix of {payload!r}, " f"expected payload to be a prefix of {payload!r}, "
f"but got {payload!r}", f"but got {payload!r}",
) )
if self.controller.software_name == "Ergo":
self.assertTrue(
payload_intact,
f"Ergo should not truncate messages: {repr(line + payload)}, {repr(received_line)}",
)
def get_overhead(self, client1, client2, colon): def get_overhead(self, client1, client2, colon):
"""Compute the overhead added to client1's message: self.sendLine(client1, f"PRIVMSG nick2 {colon}a\r\n")
PRIVMSG nick2 a\r\n
:nick1!~user@host PRIVMSG nick2 :a\r\n
So typically client1's NUH length plus either 2 or 3 bytes
(the initial colon, the space between source and command, and possibly
a colon preceding the trailing).
"""
outgoing = f"PRIVMSG nick2 {colon}a\r\n"
self.sendLine(client1, outgoing)
line = self._getLine(client2) line = self._getLine(client2)
return len(line) - len(outgoing.encode()) return len(line) - len(f"PRIVMSG nick2 {colon}a\r\n")
def _getLine(self, client) -> bytes: def _getLine(self, client) -> bytes:
line = b"" line = b""

View File

@ -3,7 +3,7 @@
""" """
from irctest import cases from irctest import cases
from irctest.patma import ANYDICT, ANYSTR, StrRe from irctest.patma import ANYDICT, StrRe
CAP_NAME = "draft/multiline" CAP_NAME = "draft/multiline"
BATCH_TYPE = "draft/multiline" BATCH_TYPE = "draft/multiline"
@ -135,86 +135,3 @@ class MultilineTestCase(cases.BaseServerTestCase):
self.assertIn("+client-only-tag", fallback_relay[0].tags) self.assertIn("+client-only-tag", fallback_relay[0].tags)
self.assertIn("+client-only-tag", fallback_relay[1].tags) self.assertIn("+client-only-tag", fallback_relay[1].tags)
self.assertEqual(fallback_relay[0].tags["msgid"], msgid) self.assertEqual(fallback_relay[0].tags["msgid"], msgid)
@cases.mark_capabilities("draft/multiline")
def testInvalidBatchTag(self):
"""Test that an unexpected change of batch tag results in
FAIL BATCH MULTILINE_INVALID."""
self.connectClient(
"alice", capabilities=(base_caps + [CAP_NAME]), skip_if_cap_nak=True
)
self.joinChannel(1, "#test")
# invalid batch tag:
self.sendLine(1, "BATCH +123 %s #test" % (BATCH_TYPE,))
self.sendLine(1, "@batch=231 PRIVMSG #test :hi")
self.assertMessageMatch(
self.getMessage(1),
command="FAIL",
params=["BATCH", "MULTILINE_INVALID", ANYSTR],
)
@cases.mark_capabilities("draft/multiline")
def testInvalidBlankConcatTag(self):
"""Test that the concat tag on a blank message results in
FAIL BATCH MULTILINE_INVALID."""
self.connectClient(
"alice", capabilities=(base_caps + [CAP_NAME]), skip_if_cap_nak=True
)
self.joinChannel(1, "#test")
# cannot send the concat tag with a blank message:
self.sendLine(1, "BATCH +123 %s #test" % (BATCH_TYPE,))
self.sendLine(1, "@batch=123 PRIVMSG #test :hi")
self.sendLine(1, "@batch=123;%s PRIVMSG #test :" % (CONCAT_TAG,))
self.assertMessageMatch(
self.getMessage(1),
command="FAIL",
params=["BATCH", "MULTILINE_INVALID", ANYSTR],
)
@cases.mark_specifications("Ergo")
def testLineLimit(self):
"""This is an Ergo-specific test for line limit enforcement
in multiline messages. Right now it hardcodes the same limits as in
the Ergo controller; we can generalize it in future for other multiline
implementations.
"""
self.connectClient(
"alice", capabilities=(base_caps + [CAP_NAME]), skip_if_cap_nak=False
)
self.joinChannel(1, "#test")
# line limit exceeded
self.sendLine(1, "BATCH +123 %s #test" % (BATCH_TYPE,))
for i in range(33):
self.sendLine(1, "@batch=123 PRIVMSG #test hi")
self.assertMessageMatch(
self.getMessage(1),
command="FAIL",
params=["BATCH", "MULTILINE_MAX_LINES", "32", ANYSTR],
)
@cases.mark_specifications("Ergo")
def testByteLimit(self):
"""This is an Ergo-specific test for line limit enforcement
in multiline messages (see testLineLimit).
"""
self.connectClient(
"alice", capabilities=(base_caps + [CAP_NAME]), skip_if_cap_nak=False
)
self.joinChannel(1, "#test")
# byte limit exceeded
self.sendLine(1, "BATCH +234 %s #test" % (BATCH_TYPE,))
for i in range(11):
self.sendLine(1, "@batch=234 PRIVMSG #test " + ("x" * 400))
self.assertMessageMatch(
self.getMessage(1),
command="FAIL",
params=["BATCH", "MULTILINE_MAX_BYTES", "4096", ANYSTR],
)

View File

@ -1,5 +1,4 @@
import base64 import base64
from typing import List
from irctest import cases, runner, scram from irctest import cases, runner, scram
from irctest.numerics import ERR_SASLFAIL, RPL_LOGGEDIN, RPL_SASLMECHS from irctest.numerics import ERR_SASLFAIL, RPL_LOGGEDIN, RPL_SASLMECHS
@ -12,34 +11,8 @@ class RegistrationTestCase(cases.BaseServerTestCase):
self.controller.registerUser(self, "testuser", "mypassword") self.controller.registerUser(self, "testuser", "mypassword")
class _BaseSasl(cases.BaseServerTestCase): @cases.mark_services
sasl_ir: bool class SaslTestCase(cases.BaseServerTestCase):
capabilities: List[str]
def _doInitialExchange(self, client, mechanism: str, chunk: str):
"""Does the initial C->S, S->C, C->S exchange.
With ``sasl_ir=False``, this is done with the usual three messages exchange
(``AUTHENTICATE <mechanism>``, ``AUTHENTICATE +``, ``AUTHENTICATE <chunk>``)
with ``sasl_ir=True``, this is done in a single C->S message
(``AUTHENTICATE <mechanism> <chunk>``)
See the [sasl-ir spec](https://github.com/ircv3/ircv3-specifications/pull/520)
"""
if self.sasl_ir:
self.sendLine(client, f"AUTHENTICATE {mechanism} {chunk}")
else:
self.sendLine(client, f"AUTHENTICATE {mechanism}")
m = self.getRegistrationMessage(1)
self.assertMessageMatch(
m,
command="AUTHENTICATE",
params=["+"],
fail_msg=f"Sent “AUTHENTICATE {mechanism}”, server should have "
f"replied with “AUTHENTICATE +”, but instead sent: {{msg}}",
)
self.sendLine(client, f"AUTHENTICATE {chunk}")
@cases.mark_specifications("IRCv3") @cases.mark_specifications("IRCv3")
@cases.skipUnlessHasMechanism("PLAIN") @cases.skipUnlessHasMechanism("PLAIN")
def testPlain(self): def testPlain(self):
@ -61,8 +34,17 @@ class _BaseSasl(cases.BaseServerTestCase):
capabilities["sasl"], capabilities["sasl"],
fail_msg="Does not have PLAIN mechanism as the controller " "claims", fail_msg="Does not have PLAIN mechanism as the controller " "claims",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self._doInitialExchange(1, "PLAIN", "amlsbGVzAGppbGxlcwBzZXNhbWU=") self.sendLine(1, "AUTHENTICATE PLAIN")
m = self.getRegistrationMessage(1)
self.assertMessageMatch(
m,
command="AUTHENTICATE",
params=["+"],
fail_msg="Sent “AUTHENTICATE PLAIN”, server should have "
"replied with “AUTHENTICATE +”, but instead sent: {msg}",
)
self.sendLine(1, "AUTHENTICATE amlsbGVzAGppbGxlcwBzZXNhbWU=")
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
self.assertMessageMatch( self.assertMessageMatch(
m, m,
@ -106,8 +88,17 @@ class _BaseSasl(cases.BaseServerTestCase):
).decode() ).decode()
self.controller.registerUser(self, "foo", password) self.controller.registerUser(self, "foo", password)
self.addClient() self.addClient()
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self._doInitialExchange(1, "PLAIN", authstring) self.sendLine(1, "AUTHENTICATE PLAIN")
m = self.getRegistrationMessage(1)
self.assertMessageMatch(
m,
command="AUTHENTICATE",
params=["+"],
fail_msg="Sent “AUTHENTICATE PLAIN”, server should have "
"replied with “AUTHENTICATE +”, but instead sent: {msg}",
)
self.sendLine(1, "AUTHENTICATE " + authstring)
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
self.assertMessageMatch( self.assertMessageMatch(
m, m,
@ -157,8 +148,17 @@ class _BaseSasl(cases.BaseServerTestCase):
capabilities["sasl"], capabilities["sasl"],
fail_msg="Does not have PLAIN mechanism as the controller " "claims", fail_msg="Does not have PLAIN mechanism as the controller " "claims",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self._doInitialExchange(1, "PLAIN", "AGppbGxlcwBzZXNhbWU=") self.sendLine(1, "AUTHENTICATE PLAIN")
m = self.getRegistrationMessage(1)
self.assertMessageMatch(
m,
command="AUTHENTICATE",
params=["+"],
fail_msg="Sent “AUTHENTICATE PLAIN”, server should have "
"replied with “AUTHENTICATE +”, but instead sent: {msg}",
)
self.sendLine(1, "AUTHENTICATE AGppbGxlcwBzZXNhbWU=")
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
self.assertMessageMatch( self.assertMessageMatch(
m, m,
@ -184,11 +184,8 @@ class _BaseSasl(cases.BaseServerTestCase):
capabilities, capabilities,
fail_msg="Does not have SASL as the controller claims.", fail_msg="Does not have SASL as the controller claims.",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
if self.sasl_ir: self.sendLine(1, "AUTHENTICATE FOO")
self.sendLine(1, "AUTHENTICATE FOO AGppbGxlcwBzZXNhbWU=")
else:
self.sendLine(1, "AUTHENTICATE FOO")
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
while m.command == RPL_SASLMECHS: while m.command == RPL_SASLMECHS:
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
@ -238,8 +235,17 @@ class _BaseSasl(cases.BaseServerTestCase):
capabilities["sasl"], capabilities["sasl"],
fail_msg="Does not have PLAIN mechanism as the controller " "claims", fail_msg="Does not have PLAIN mechanism as the controller " "claims",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self._doInitialExchange(1, "PLAIN", authstring[0:400]) self.sendLine(1, "AUTHENTICATE PLAIN")
m = self.getRegistrationMessage(1)
self.assertMessageMatch(
m,
command="AUTHENTICATE",
params=["+"],
fail_msg="Sent “AUTHENTICATE PLAIN”, expected "
"“AUTHENTICATE +” as a response, but got: {msg}",
)
self.sendLine(1, "AUTHENTICATE {}".format(authstring[0:400]))
self.sendLine(1, "AUTHENTICATE {}".format(authstring[400:])) self.sendLine(1, "AUTHENTICATE {}".format(authstring[400:]))
self.confirmSuccessfulAuth() self.confirmSuccessfulAuth()
@ -299,8 +305,17 @@ class _BaseSasl(cases.BaseServerTestCase):
capabilities["sasl"], capabilities["sasl"],
fail_msg="Does not have PLAIN mechanism as the controller " "claims", fail_msg="Does not have PLAIN mechanism as the controller " "claims",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self._doInitialExchange(1, "PLAIN", authstring) self.sendLine(1, "AUTHENTICATE PLAIN")
m = self.getRegistrationMessage(1)
self.assertMessageMatch(
m,
command="AUTHENTICATE",
params=["+"],
fail_msg="Sent “AUTHENTICATE PLAIN”, expected "
"“AUTHENTICATE +” as a response, but got: {msg}",
)
self.sendLine(1, "AUTHENTICATE {}".format(authstring))
self.sendLine(1, "AUTHENTICATE +") self.sendLine(1, "AUTHENTICATE +")
self.confirmSuccessfulAuth() self.confirmSuccessfulAuth()
@ -309,12 +324,6 @@ class _BaseSasl(cases.BaseServerTestCase):
# I don't know how to do it, because it would make the registration # I don't know how to do it, because it would make the registration
# message's length too big for it to be valid. # message's length too big for it to be valid.
@cases.mark_services
class SaslTestCase(_BaseSasl):
sasl_ir = False
capabilities = ["sasl"]
@cases.mark_specifications("IRCv3") @cases.mark_specifications("IRCv3")
@cases.skipUnlessHasMechanism("SCRAM-SHA-256") @cases.skipUnlessHasMechanism("SCRAM-SHA-256")
def testScramSha256Success(self): def testScramSha256Success(self):
@ -335,7 +344,7 @@ class SaslTestCase(_BaseSasl):
fail_msg="Does not have SCRAM-SHA-256 mechanism as the " fail_msg="Does not have SCRAM-SHA-256 mechanism as the "
"controller claims", "controller claims",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self.sendLine(1, "AUTHENTICATE SCRAM-SHA-256") self.sendLine(1, "AUTHENTICATE SCRAM-SHA-256")
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
@ -391,7 +400,7 @@ class SaslTestCase(_BaseSasl):
fail_msg="Does not have SCRAM-SHA-256 mechanism as the " fail_msg="Does not have SCRAM-SHA-256 mechanism as the "
"controller claims", "controller claims",
) )
self.requestCapabilities(1, self.capabilities, skip_if_cap_nak=False) self.requestCapabilities(1, ["sasl"], skip_if_cap_nak=False)
self.sendLine(1, "AUTHENTICATE SCRAM-SHA-256") self.sendLine(1, "AUTHENTICATE SCRAM-SHA-256")
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
@ -421,36 +430,3 @@ class SaslTestCase(_BaseSasl):
) )
m = self.getRegistrationMessage(1) m = self.getRegistrationMessage(1)
self.assertMessageMatch(m, command=ERR_SASLFAIL) self.assertMessageMatch(m, command=ERR_SASLFAIL)
@cases.mark_services
class SaslIrTestCase(_BaseSasl):
"""Tests SASL with clients requesting the
[sasl-ir](https://github.com/ircv3/ircv3-specifications/pull/520) cap and using it.
"""
sasl_ir = True
capabilities = ["sasl", "draft/sasl-ir"]
def setUp(self):
super().setUp()
self.connectClient(
"capgetter", capabilities=["draft/sasl-ir"], skip_if_cap_nak=True
)
@cases.mark_services
class ImplicitSaslIrTestCase(_BaseSasl):
"""Tests SASL with clients using the
[sasl-ir](https://github.com/ircv3/ircv3-specifications/pull/520) CAP without
requesting it.
"""
sasl_ir = True
capabilities = ["sasl"]
def setUp(self):
super().setUp()
self.connectClient(
"capgetter", capabilities=["draft/sasl-ir"], skip_if_cap_nak=True
)

View File

@ -65,7 +65,7 @@ def get_install_steps(*, software_config, software_id, version_flavor):
install_steps = [ install_steps = [
{ {
"name": f"Checkout {name}", "name": f"Checkout {name}",
"uses": "actions/checkout@v4", "uses": "actions/checkout@v3",
"with": { "with": {
"repository": software_config["repository"], "repository": software_config["repository"],
"ref": ref, "ref": ref,
@ -94,7 +94,7 @@ def get_build_job(*, software_config, software_id, version_flavor):
cache = [ cache = [
{ {
"name": "Cache dependencies", "name": "Cache dependencies",
"uses": "actions/cache@v4", "uses": "actions/cache@v3",
"with": { "with": {
"path": f"~/.cache\n${{ github.workspace }}/{path}\n", "path": f"~/.cache\n${{ github.workspace }}/{path}\n",
"key": "3-${{ runner.os }}-" "key": "3-${{ runner.os }}-"
@ -123,10 +123,10 @@ def get_build_job(*, software_config, software_id, version_flavor):
"run": "cd ~/; mkdir -p .local/ go/", "run": "cd ~/; mkdir -p .local/ go/",
}, },
*cache, *cache,
{"uses": "actions/checkout@v4"}, {"uses": "actions/checkout@v3"},
{ {
"name": "Set up Python 3.11", "name": "Set up Python 3.11",
"uses": "actions/setup-python@v5", "uses": "actions/setup-python@v4",
"with": {"python-version": 3.11}, "with": {"python-version": 3.11},
}, },
*install_steps, *install_steps,
@ -160,7 +160,7 @@ def get_test_job(*, config, test_config, test_id, version_flavor, jobs):
downloads.append( downloads.append(
{ {
"name": "Download build artefacts", "name": "Download build artefacts",
"uses": "actions/download-artifact@v4", "uses": "actions/download-artifact@v3",
"with": {"name": f"installed-{software_id}", "path": "~"}, "with": {"name": f"installed-{software_id}", "path": "~"},
} }
) )
@ -195,10 +195,10 @@ def get_test_job(*, config, test_config, test_id, version_flavor, jobs):
"runs-on": "ubuntu-22.04", "runs-on": "ubuntu-22.04",
"needs": needs, "needs": needs,
"steps": [ "steps": [
{"uses": "actions/checkout@v4"}, {"uses": "actions/checkout@v3"},
{ {
"name": "Set up Python 3.11", "name": "Set up Python 3.11",
"uses": "actions/setup-python@v5", "uses": "actions/setup-python@v4",
"with": {"python-version": 3.11}, "with": {"python-version": 3.11},
}, },
*downloads, *downloads,
@ -232,7 +232,7 @@ def get_test_job(*, config, test_config, test_id, version_flavor, jobs):
{ {
"name": "Publish results", "name": "Publish results",
"if": "always()", "if": "always()",
"uses": "actions/upload-artifact@v4", "uses": "actions/upload-artifact@v3",
"with": { "with": {
"name": f"pytest-results_{test_id}_{version_flavor.value}", "name": f"pytest-results_{test_id}_{version_flavor.value}",
"path": "pytest.xml", "path": "pytest.xml",
@ -251,7 +251,7 @@ def upload_steps(software_id):
}, },
{ {
"name": "Upload build artefacts", "name": "Upload build artefacts",
"uses": "actions/upload-artifact@v4", "uses": "actions/upload-artifact@v3",
"with": { "with": {
"name": f"installed-{software_id}", "name": f"installed-{software_id}",
"path": "~/artefacts-*.tar.gz", "path": "~/artefacts-*.tar.gz",
@ -312,10 +312,10 @@ def generate_workflow(config: dict, version_flavor: VersionFlavor):
# this job then # this job then
"if": "success() || failure()", "if": "success() || failure()",
"steps": [ "steps": [
{"uses": "actions/checkout@v4"}, {"uses": "actions/checkout@v3"},
{ {
"name": "Download Artifacts", "name": "Download Artifacts",
"uses": "actions/download-artifact@v4", "uses": "actions/download-artifact@v3",
"with": {"path": "artifacts"}, "with": {"path": "artifacts"},
}, },
{ {