2021-01-06 16:23:23 -05:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
pull_request:
|
2019-08-16 11:29:29 -04:00
|
|
|
name: Check Irssi
|
2021-01-06 11:10:59 -05:00
|
|
|
env:
|
|
|
|
apt_build_deps: libutf8proc-dev libperl-dev libotr5-dev
|
|
|
|
apt_build_deps_meson: ninja-build
|
2021-01-20 03:58:25 -05:00
|
|
|
get_pip_build_deps_meson: pip3 install setuptools${setuptools_ver}; pip3 install wheel; pip3 install meson${meson_ver}
|
2021-01-06 11:10:59 -05:00
|
|
|
build_options_meson: -Dwith-proxy=yes -Dwith-bot=yes -Dwith-perl=yes -Dwith-otr=yes
|
|
|
|
prefix: ~/irssi-build
|
2019-08-16 11:29:29 -04:00
|
|
|
jobs:
|
2021-01-06 11:10:59 -05:00
|
|
|
dist:
|
2019-08-16 11:29:29 -04:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2021-01-06 11:10:59 -05:00
|
|
|
- name: prepare required software
|
|
|
|
run: |
|
2022-02-18 14:50:37 -05:00
|
|
|
sudo apt update && sudo apt install $apt_build_deps
|
2021-01-06 11:10:59 -05:00
|
|
|
- uses: actions/checkout@main
|
|
|
|
- name: make dist
|
|
|
|
run: |
|
2022-02-18 14:50:37 -05:00
|
|
|
./utils/make-dist.sh
|
2024-04-01 16:28:17 -04:00
|
|
|
- uses: actions/upload-artifact@v4
|
2021-01-06 11:10:59 -05:00
|
|
|
with:
|
|
|
|
path: irssi-*.tar.gz
|
|
|
|
retention-days: 1
|
|
|
|
install:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
env:
|
|
|
|
CC: ${{ matrix.compiler }}
|
|
|
|
needs: dist
|
2021-05-10 04:13:35 -04:00
|
|
|
continue-on-error: ${{ contains(matrix.flags, 'FAILURE-OK') }}
|
2021-01-06 11:10:59 -05:00
|
|
|
strategy:
|
2021-05-10 04:13:35 -04:00
|
|
|
fail-fast: false
|
2021-01-06 11:10:59 -05:00
|
|
|
matrix:
|
2023-04-04 09:18:54 -04:00
|
|
|
os: [ubuntu-20.04, ubuntu-latest]
|
2022-02-18 14:50:37 -05:00
|
|
|
builder: [meson]
|
2021-01-06 11:10:59 -05:00
|
|
|
compiler: [clang, gcc]
|
2021-05-10 04:13:35 -04:00
|
|
|
flags: [regular]
|
2021-01-06 11:10:59 -05:00
|
|
|
include:
|
2023-04-04 09:18:54 -04:00
|
|
|
- os: ubuntu-20.04
|
2021-01-06 11:10:59 -05:00
|
|
|
builder: meson
|
2022-03-18 17:00:42 -04:00
|
|
|
meson_ver: ==0.53.2
|
2021-01-20 03:58:25 -05:00
|
|
|
setuptools_ver: <51
|
2021-05-10 04:13:35 -04:00
|
|
|
- os: ubuntu-latest
|
|
|
|
builder: meson
|
2022-03-18 17:00:42 -04:00
|
|
|
meson_ver: <0.63.0
|
2021-05-10 04:13:35 -04:00
|
|
|
- os: ubuntu-latest
|
|
|
|
builder: meson
|
|
|
|
flags: meson-latest FAILURE-OK
|
2021-01-06 11:10:59 -05:00
|
|
|
steps:
|
|
|
|
- name: fetch dist
|
2024-04-01 16:28:17 -04:00
|
|
|
uses: actions/download-artifact@v4
|
2021-01-06 11:10:59 -05:00
|
|
|
- name: set PATH
|
|
|
|
run: |
|
|
|
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
|
|
- name: prepare required software
|
|
|
|
env:
|
|
|
|
meson_ver: ${{ matrix.meson_ver }}
|
2021-01-20 03:58:25 -05:00
|
|
|
setuptools_ver: ${{ matrix.setuptools_ver }}
|
2021-01-06 11:10:59 -05:00
|
|
|
run: |
|
2021-09-22 04:50:20 -04:00
|
|
|
sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_${{ matrix.builder }}
|
2021-01-06 11:10:59 -05:00
|
|
|
eval "$get_pip_build_deps_${{ matrix.builder }}"
|
|
|
|
curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl
|
|
|
|
- name: unpack archive
|
|
|
|
run: tar xaf artifact/irssi-*.tar.gz
|
|
|
|
- name: build and install with meson
|
|
|
|
run: |
|
|
|
|
# ninja install
|
|
|
|
cd irssi-*/
|
|
|
|
meson Build $build_options_meson --prefix=${prefix/\~/~}
|
|
|
|
ninja -C Build
|
|
|
|
ninja -C Build install
|
|
|
|
if: ${{ matrix.builder == 'meson' }}
|
|
|
|
- name: run tests with Meson
|
|
|
|
run: |
|
|
|
|
# ninja test
|
|
|
|
cd irssi-*/
|
|
|
|
ninja -C Build test
|
|
|
|
find -name testlog.txt -exec sed -i -e '/Inherited environment:.* GITHUB/d' {} + -exec cat {} +
|
|
|
|
if: ${{ matrix.builder == 'meson' }}
|
|
|
|
- name: run launch test
|
|
|
|
env:
|
|
|
|
TERM: xterm
|
|
|
|
run: |
|
|
|
|
# automated irssi launch test
|
|
|
|
cd
|
|
|
|
mkdir irssi-test
|
|
|
|
echo 'echo automated irssi launch test
|
|
|
|
^set settings_autosave off
|
|
|
|
^set -clear log_close_string
|
|
|
|
^set -clear log_day_changed
|
|
|
|
^set -clear log_open_string
|
|
|
|
^set log_timestamp *
|
2023-09-13 16:54:46 -04:00
|
|
|
^window log on
|
|
|
|
load irc
|
|
|
|
load dcc
|
|
|
|
load flood
|
|
|
|
load notifylist
|
|
|
|
load perl
|
|
|
|
load otr
|
|
|
|
load proxy
|
|
|
|
^quit' > irssi-test/startup
|
2021-09-01 17:37:11 -04:00
|
|
|
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
|
2021-01-06 11:10:59 -05:00
|
|
|
cat irc.log.*
|
2023-09-14 09:21:55 -04:00
|
|
|
annotation-warnings:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
if: ${{ github.event_name == 'pull_request' }}
|
|
|
|
env:
|
|
|
|
CC: clang
|
|
|
|
steps:
|
|
|
|
- name: prepare required software
|
|
|
|
run: |
|
|
|
|
sudo apt update && sudo apt install $apt_build_deps
|
|
|
|
- uses: actions/checkout@main
|
|
|
|
- name: Setup local annotations
|
|
|
|
uses: irssi-import/actions-irssi/problem-matchers@master
|
|
|
|
- name: set PATH
|
|
|
|
run: |
|
|
|
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
|
|
- name: prepare required software
|
|
|
|
env:
|
|
|
|
meson_ver: ${{ matrix.meson_ver }}
|
|
|
|
setuptools_ver: ${{ matrix.setuptools_ver }}
|
|
|
|
run: |
|
|
|
|
sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_meson
|
|
|
|
eval "$get_pip_build_deps_meson"
|
|
|
|
curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl
|
|
|
|
- name: build and install with meson
|
|
|
|
run: |
|
|
|
|
meson Build $build_options_meson --prefix=${prefix/\~/~}
|
|
|
|
ninja -C Build
|
|
|
|
ninja -C Build install >/dev/null
|
|
|
|
- name: run launch test
|
|
|
|
env:
|
|
|
|
TERM: xterm
|
|
|
|
run: |
|
|
|
|
# automated irssi launch test
|
|
|
|
cd
|
|
|
|
mkdir irssi-test
|
|
|
|
echo 'echo automated irssi launch test
|
|
|
|
^set settings_autosave off
|
|
|
|
^set -clear log_close_string
|
|
|
|
^set -clear log_day_changed
|
|
|
|
^set -clear log_open_string
|
|
|
|
^set log_timestamp *
|
|
|
|
^window log on
|
|
|
|
load irc
|
|
|
|
load dcc
|
|
|
|
load flood
|
|
|
|
load notifylist
|
|
|
|
load perl
|
|
|
|
load otr
|
|
|
|
load proxy
|
|
|
|
^quit' > irssi-test/startup
|
|
|
|
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
|
|
|
|
cat irc.log.*
|