Fix Hybrid support + enable it on CI (#82)

* Fix Hybrid support + enable it on CI

* Can't make Hybrid linking work on Github CI

because the reverse DNS is 'cpu-pool.com' for some reason, and I don't
want to hardcode it, so I give up.
This commit is contained in:
Val Lorentz
2021-07-10 16:33:32 +02:00
committed by GitHub
parent b780513e82
commit 77272f83fb
12 changed files with 345 additions and 165 deletions

View File

@ -29,6 +29,43 @@ jobs:
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:
@ -145,6 +182,7 @@ jobs:
name: Publish Unit Tests Results
needs:
- test-ergo
- test-hybrid
- test-inspircd
- test-inspircd-anope
- test-limnoria
@ -202,6 +240,38 @@ jobs:
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

View File

@ -67,6 +67,43 @@ jobs:
name: installed-charybdis
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-stable
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.38
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:
@ -184,6 +221,7 @@ jobs:
needs:
- test-charybdis
- test-ergo
- test-hybrid
- test-inspircd
- test-inspircd-anope
- test-inspircd-atheme
@ -274,6 +312,38 @@ jobs:
with:
name: pytest results ergo (stable)
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 (stable)
path: pytest.xml
test-inspircd:
needs:
- build-inspircd