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