# This file was auto-generated by make_workflows.py. # Do not edit it manually, modifications will be lost. jobs: build-anope: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Create directories run: cd ~/; mkdir -p .local/ go/ - name: Checkout Anope uses: actions/checkout@v2 with: path: anope ref: 2.0.9 repository: anope/anope - name: Build Anope run: |- cd $GITHUB_WORKSPACE/anope/ cp $GITHUB_WORKSPACE/data/anope/* . CFLAGS=-O0 ./Config -quick make -C build -j 4 make -C build install - name: Make artefact tarball run: cd ~; tar -czf artefacts-anope.tar.gz .local/ go/ - name: Upload build artefacts uses: actions/upload-artifact@v2 with: name: installed-anope path: ~/artefacts-*.tar.gz retention-days: 1 build-hybrid: runs-on: ubuntu-latest steps: - name: Create directories run: cd ~/; mkdir -p .local/ go/ - name: Cache dependencies uses: actions/cache@v2 with: key: ${{ runner.os }}-hybrid-devel path: |- ~/.cache $GITHUB_WORKSPACE/ircd-hybrid - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Checkout Hybrid uses: actions/checkout@v2 with: path: ircd-hybrid ref: 8.2.x repository: ircd-hybrid/ircd-hybrid - name: Build Hybrid run: | cd $GITHUB_WORKSPACE/ircd-hybrid/ ./configure --prefix=$HOME/.local/ make -j 4 make install - name: Make artefact tarball run: cd ~; tar -czf artefacts-hybrid.tar.gz .local/ go/ - name: Upload build artefacts uses: actions/upload-artifact@v2 with: name: installed-hybrid path: ~/artefacts-*.tar.gz retention-days: 1 build-inspircd: runs-on: ubuntu-latest steps: - name: Create directories run: cd ~/; mkdir -p .local/ go/ - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Checkout InspIRCd uses: actions/checkout@v2 with: path: inspircd ref: master repository: inspircd/inspircd - name: Build InspIRCd run: | cd $GITHUB_WORKSPACE/inspircd/ patch src/inspircd.cpp < $GITHUB_WORKSPACE/inspircd_mainloop.patch ./configure --prefix=$HOME/.local/inspircd --development make -j 4 make install - name: Make artefact tarball run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/ - name: Upload build artefacts uses: actions/upload-artifact@v2 with: name: installed-inspircd path: ~/artefacts-*.tar.gz retention-days: 1 build-solanum: runs-on: ubuntu-latest steps: - name: Create directories run: cd ~/; mkdir -p .local/ go/ - name: Cache dependencies uses: actions/cache@v2 with: key: ${{ runner.os }}-solanum-devel path: |- ~/.cache $GITHUB_WORKSPACE/solanum - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Checkout Solanum uses: actions/checkout@v2 with: path: solanum ref: main repository: solanum-ircd/solanum - name: Build Solanum run: | cd $GITHUB_WORKSPACE/solanum/ ./autogen.sh ./configure --prefix=$HOME/.local/ make -j 4 make install - name: Make artefact tarball run: cd ~; tar -czf artefacts-solanum.tar.gz .local/ go/ - name: Upload build artefacts uses: actions/upload-artifact@v2 with: name: installed-solanum path: ~/artefacts-*.tar.gz retention-days: 1 build-unrealircd: runs-on: ubuntu-latest steps: - name: Create directories run: cd ~/; mkdir -p .local/ go/ - name: Cache dependencies uses: actions/cache@v2 with: key: ${{ runner.os }}-unrealircd-devel path: |- ~/.cache $GITHUB_WORKSPACE/unrealircd - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Checkout UnrealIRCd uses: actions/checkout@v2 with: path: unrealircd ref: unreal52 repository: unrealircd/unrealircd - name: Build UnrealIRCd run: | cd $GITHUB_WORKSPACE/unrealircd/ cp $GITHUB_WORKSPACE/data/unreal/* . # Need to use a specific -march, because GitHub has inconsistent # architectures across workers, which result in random SIGILL with some # worker combinations sudo apt install libsodium-dev libargon2-dev CFLAGS="-O0 -march=x86-64" CXXFLAGS="$CFLAGS" ./Config -quick make -j 4 make install - name: Make artefact tarball run: cd ~; tar -czf artefacts-unrealircd.tar.gz .local/ go/ - name: Upload build artefacts uses: actions/upload-artifact@v2 with: name: installed-unrealircd path: ~/artefacts-*.tar.gz retention-days: 1 publish-test-results: if: success() || failure() name: Publish Unit Tests Results needs: - test-ergo - test-hybrid - test-inspircd - test-inspircd-anope - test-limnoria - test-solanum - test-sopel - test-unrealircd - test-unrealircd-anope - test-unrealircd-atheme runs-on: ubuntu-latest steps: - name: Download Artifacts uses: actions/download-artifact@v2 with: path: artifacts - name: Publish Unit Test Results uses: EnricoMi/publish-unit-test-result-action@v1 with: files: artifacts/**/*.xml test-ergo: needs: [] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Checkout Ergo uses: actions/checkout@v2 with: path: ergo ref: master repository: ergochat/ergo - uses: actions/setup-go@v2 with: go-version: ~1.16 - run: go version - name: Build Ergo run: | cd $GITHUB_WORKSPACE/ergo/ make build make install - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/go/bin:$PATH make ergo - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results ergo (devel) path: pytest.xml test-hybrid: needs: - build-hybrid runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-hybrid path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make hybrid - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results hybrid (devel) path: pytest.xml test-inspircd: needs: - build-inspircd runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-inspircd path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH make inspircd - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results inspircd (devel) path: pytest.xml test-inspircd-anope: needs: - build-inspircd - build-anope runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-inspircd path: '~' - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-anope path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/bin:$PATH make inspircd-anope - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results inspircd-anope (devel) path: pytest.xml test-limnoria: needs: [] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Install dependencies run: pip install git+https://github.com/ProgVal/Limnoria.git@testing cryptography - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make limnoria - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results limnoria (devel) path: pytest.xml test-solanum: needs: - build-solanum runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-solanum path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make solanum - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results solanum (devel) path: pytest.xml test-sopel: needs: [] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Install dependencies run: pip install git+https://github.com/sopel-irc/sopel.git - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make sopel - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results sopel (devel) path: pytest.xml test-unrealircd: needs: - build-unrealircd runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-unrealircd path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH make unrealircd - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results unrealircd (devel) path: pytest.xml test-unrealircd-anope: needs: - build-unrealircd - build-anope runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-unrealircd path: '~' - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-anope path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH make unrealircd-anope - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results unrealircd-anope (devel) path: pytest.xml test-unrealircd-atheme: needs: - build-unrealircd runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Download build artefacts uses: actions/download-artifact@v2 with: name: installed-unrealircd path: '~' - name: Unpack artefacts run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; - name: Install Atheme run: sudo apt-get install atheme-services - name: Install irctest dependencies run: |- python -m pip install --upgrade pip pip install pytest -r requirements.txt - name: Test with pytest run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/bin:$PATH make unrealircd-atheme - if: always() name: Publish results uses: actions/upload-artifact@v2 with: name: pytest results unrealircd-atheme (devel) path: pytest.xml name: irctest with devel versions 'on': schedule: - cron: 51 8 * * 6 - cron: 51 8 * * 0 - cron: 51 17 * * * workflow_dispatch: null