irctest with devel_release versions #998
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file was auto-generated by make_workflows.py. | |
# Do not edit it manually, modifications will be lost. | |
jobs: | |
build-anope: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
key: 3-${{ runner.os }}-anope-devel_release | |
path: '~/.cache | |
${ github.workspace }/anope | |
' | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- name: Checkout Anope | |
uses: actions/checkout@v3 | |
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@v3 | |
with: | |
name: installed-anope | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
build-inspircd: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create directories | |
run: cd ~/; mkdir -p .local/ go/ | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- name: Checkout InspIRCd | |
uses: actions/checkout@v3 | |
with: | |
path: inspircd | |
ref: insp3 | |
repository: inspircd/inspircd | |
- name: Build InspIRCd | |
run: | | |
cd $GITHUB_WORKSPACE/inspircd/ | |
# Insp3 <= 3.16.0 and Insp4 <= 4.0.0a21 don't support -DINSPIRCD_UNLIMITED_MAINLOOP | |
patch src/inspircd.cpp < $GITHUB_WORKSPACE/patches/inspircd_mainloop.patch || true | |
./configure --prefix=$HOME/.local/inspircd --development | |
CXXFLAGS=-DINSPIRCD_UNLIMITED_MAINLOOP make -j 4 | |
make install | |
- name: Make artefact tarball | |
run: cd ~; tar -czf artefacts-inspircd.tar.gz .local/ go/ | |
- name: Upload build artefacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: installed-inspircd | |
path: ~/artefacts-*.tar.gz | |
retention-days: 1 | |
publish-test-results: | |
if: success() || failure() | |
name: Publish Dashboard | |
needs: | |
- test-inspircd | |
- test-inspircd-anope | |
- test-inspircd-atheme | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Install dashboard dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install defusedxml docutils -r requirements.txt | |
- name: Generate dashboard | |
run: |- | |
shopt -s globstar | |
python3 -m irctest.dashboard.format dashboard/ artifacts/**/*.xml | |
echo '/ /index.xhtml' > dashboard/_redirects | |
- name: Install netlify-cli | |
run: npm i -g netlify-cli | |
- env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
name: Deploy to Netlify | |
run: ./.github/deploy_to_netlify.py | |
test-inspircd: | |
needs: | |
- build-inspircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: installed-inspircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist -r requirements.txt | |
- name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:$PATH | |
make inspircd | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pytest-results_inspircd_devel_release | |
path: pytest.xml | |
test-inspircd-anope: | |
needs: | |
- build-inspircd | |
- build-anope | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: installed-inspircd | |
path: '~' | |
- name: Download build artefacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: installed-anope | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist -r requirements.txt | |
- name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:$PATH make | |
inspircd-anope | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pytest-results_inspircd-anope_devel_release | |
path: pytest.xml | |
test-inspircd-atheme: | |
needs: | |
- build-inspircd | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7 | |
- name: Download build artefacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: installed-inspircd | |
path: '~' | |
- name: Unpack artefacts | |
run: cd ~; find -name 'artefacts-*.tar.gz' -exec tar -xzf '{}' \; | |
- name: Install system dependencies | |
run: sudo apt-get install atheme-services faketime | |
- name: Install irctest dependencies | |
run: |- | |
python -m pip install --upgrade pip | |
pip install pytest pytest-xdist -r requirements.txt | |
- name: Test with pytest | |
run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:$PATH | |
make inspircd-atheme | |
timeout-minutes: 30 | |
- if: always() | |
name: Publish results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pytest-results_inspircd-atheme_devel_release | |
path: pytest.xml | |
name: irctest with devel_release versions | |
'on': | |
schedule: | |
- cron: 51 8 * * 6 | |
- cron: 51 8 * * 0 | |
- cron: 51 17 * * * | |
workflow_dispatch: null |