aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorGravatar Sadie Powell2026-04-08 21:58:11 +0100
committerGravatar Sadie Powell2026-04-09 02:51:43 +0100
commit08692ff10714d41dbd3a39d33910a2ff587d81e7 (patch)
tree73e68114e4eaf80f20cb23678f0efa43d8b6f954 /.github/workflows
parentGeneral clean up of the Alpine, macOS, and Ubuntu CI workflows. (diff)
General clean up of the irctest workflow.
[skip alpine ci] [skip macos ci] [skip ubuntu ci] [skip windows ci]
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci-irctest.yml71
1 files changed, 43 insertions, 28 deletions
diff --git a/.github/workflows/ci-irctest.yml b/.github/workflows/ci-irctest.yml
index 3d9eaad37..22be13d4f 100644
--- a/.github/workflows/ci-irctest.yml
+++ b/.github/workflows/ci-irctest.yml
@@ -7,6 +7,11 @@
name: irctest
+env:
+ ANOPE_REF: 2.1.23
+ ATHEME_REF: 47fe56b86cbb845a658339c3f2f0fa1b80563c5a # 2026-02-28
+ IRCTEST_REF: c85b574765d67a0270d9c7b35f37ab57e7f95774 # 2026-04-08
+
on:
pull_request:
push:
@@ -18,31 +23,33 @@ jobs:
if: "!contains(github.event.head_commit.message, '[skip irctest ci]')"
runs-on: ubuntu-24.04-arm
steps:
- - name: Checkout repository
+ - name: Checkout InspIRCd
uses: actions/checkout@v6
- name: Run configure
- run: ./configure --development --disable-auto-extras --prefix=$HOME/inspircd
+ run: |-
+ ./configure --development --disable-auto-extras --prefix "$HOME/inspircd"
# Speed-up build (6 min -> 5 min)
- name: Precompile inspircd.h
- run: c++ -Ivendor include/inspircd.h
+ run: |-
+ c++ -Ivendor include/inspircd.h
- name: Build and install
env:
CXXFLAGS: -DINSPIRCD_UNLIMITED_MAINLOOP
- run: make install --jobs $(($(getconf _NPROCESSORS_ONLN) + 1))
+ run: |-
+ make --jobs $(($(getconf _NPROCESSORS_ONLN) + 1)) install
- name: Make artifact tarball
run: |-
- cd ~
- tar -czf artifacts-inspircd.tar.gz inspircd
+ tar --create --gzip --verbose --directory "$HOME" --file "${{ runner.temp }}/inspircd.tar.gz" inspircd
- - name: Upload build artifacts
+ - name: Upload build artifact
uses: actions/upload-artifact@v7
with:
name: installed-inspircd-for-irctest
- path: ~/artifacts-inspircd.tar.gz
+ path: ${{ runner.temp }}/inspircd.tar.gz
retention-days: 1
test:
@@ -53,73 +60,81 @@ jobs:
needs:
- build
steps:
- - name: Download build artifacts
+ - name: Download build artifact
uses: actions/download-artifact@v8
with:
name: installed-inspircd-for-irctest
- path: "~"
+ path: ${{ runner.temp }}
- - name: Unpack artifacts
+ - name: Unpack artifact
run: |-
- cd ~
- find -name 'artifacts-inspircd.tar.gz' -exec tar -xzf '{}' \;
+ tar --extract --gzip --verbose --directory "$HOME" --file "${{ runner.temp }}/inspircd.tar.gz"
+ echo "PATH=$HOME/inspircd/bin:$PATH" >> $GITHUB_ENV
- name: Checkout irctest
uses: actions/checkout@v6
with:
path: irctest
- ref: f35ae5a7dcbf12b21c7267daf68a98df0e5be76d
+ ref: ${{ env.IRCTEST_REF }}
repository: progval/irctest
- name: Install irctest dependencies
- run: sudo apt-get install --assume-yes faketime python3-pytest
+ run: |-
+ sudo apt-get install --assume-yes faketime python3-pytest
- name: Run irctest (no services)
if: matrix.services == 'no services'
- run: PATH=$HOME/inspircd/bin:$PATH make -C irctest inspircd
+ working-directory: irctest
+ run:
+ make inspircd
- name: Checkout Anope
if: matrix.services == 'anope'
uses: actions/checkout@v6
with:
path: anope
- ref: 2.1.22
+ ref: ${{ env.ANOPE_REF }}
repository: anope/anope
- name: Build and install Anope
if: matrix.services == 'anope'
- run: |
- cd $GITHUB_WORKSPACE/anope
+ working-directory: anope
+ run: |-
sudo apt-get install ninja-build --no-install-recommends
- mkdir build && cd build
- cmake -DCMAKE_INSTALL_PREFIX=$HOME/anope -DPROGRAM_NAME=anope -GNinja ..
- ninja install
+ cmake -B build -D CMAKE_INSTALL_PREFIX="$HOME/anope" -G Ninja
+ ninja -C build install
+ echo "PATH=$HOME/anope/bin:$PATH" >> $GITHUB_ENV
- name: Run irctest (Anope services)
if: matrix.services == 'anope'
- run: PATH=$HOME/anope/bin:$HOME/inspircd/bin:$PATH make -C irctest inspircd-anope
+ working-directory: irctest
+ run:
+ make inspircd-anope
- name: Checkout Atheme
if: matrix.services == 'atheme'
uses: actions/checkout@v6
with:
path: atheme
- ref: master
+ ref: ${{ env.ATHEME_REF }}
repository: atheme/atheme
submodules: recursive
- name: Build and install Atheme
if: matrix.services == 'atheme'
+ working-directory: atheme
run: |-
- cd $GITHUB_WORKSPACE/atheme
- sudo apt install gettext --assume-yes
- ./configure --prefix=$HOME/atheme
+ sudo apt-get install gettext --assume-yes
+ ./configure --prefix "$HOME/atheme"
make
make install
+ echo "PATH=$HOME/atheme/bin:$PATH" >> $GITHUB_ENV
- name: Run irctest (Atheme services)
if: matrix.services == 'atheme'
- run: PATH=$HOME/atheme/bin:$HOME/inspircd/bin:$PATH make -C irctest inspircd-atheme
+ working-directory: irctest
+ run:
+ make inspircd-atheme
strategy:
fail-fast: false