mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
123 lines
4.2 KiB
YAML
123 lines
4.2 KiB
YAML
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
name: Check Irssi
|
|
env:
|
|
apt_build_deps: libutf8proc-dev libperl-dev libotr5-dev
|
|
apt_build_deps_meson: ninja-build
|
|
apt_build_deps_autotools: autoconf automake libtool
|
|
get_pip_build_deps_meson: pip3 install setuptools${setuptools_ver}; pip3 install wheel; pip3 install meson${meson_ver}
|
|
build_options_meson: -Dwith-proxy=yes -Dwith-bot=yes -Dwith-perl=yes -Dwith-otr=yes
|
|
build_options_configure: --with-proxy=module --with-bot --with-perl=module --with-otr=module
|
|
prefix: ~/irssi-build
|
|
jobs:
|
|
dist:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: prepare required software
|
|
run: |
|
|
sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_autotools
|
|
- uses: actions/checkout@main
|
|
- name: make dist
|
|
run: |
|
|
# make dist
|
|
./autogen.sh $build_options_configure
|
|
make dist
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
path: irssi-*.tar.gz
|
|
retention-days: 1
|
|
install:
|
|
runs-on: ${{ matrix.os }}
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
needs: dist
|
|
continue-on-error: ${{ contains(matrix.flags, 'FAILURE-OK') }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-18.04, ubuntu-latest]
|
|
builder: [meson, configure]
|
|
compiler: [clang, gcc]
|
|
flags: [regular]
|
|
include:
|
|
- os: ubuntu-18.04
|
|
builder: meson
|
|
meson_ver: ==0.49.2
|
|
setuptools_ver: <51
|
|
- os: ubuntu-latest
|
|
builder: meson
|
|
meson_ver: <0.60.0
|
|
- os: ubuntu-latest
|
|
builder: meson
|
|
flags: meson-latest FAILURE-OK
|
|
steps:
|
|
- name: fetch dist
|
|
uses: actions/download-artifact@v2
|
|
- 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_${{ matrix.builder }}
|
|
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: build and install with Makefile
|
|
run: |
|
|
# make install
|
|
cd irssi-*/
|
|
mkdir Build
|
|
cd Build
|
|
../configure $build_options_configure --prefix=${prefix/\~/~} --enable-always-build-tests
|
|
make CFLAGS="-Wall -Werror -Werror=declaration-after-statement"
|
|
make install
|
|
if: ${{ matrix.builder == 'configure' }}
|
|
- name: run tests with Makefile
|
|
run: |
|
|
# make check
|
|
cd irssi-*/Build
|
|
make -C tests -sk check
|
|
find -name test-suite.log -exec cat {} +
|
|
if: ${{ matrix.builder == 'configure' }}
|
|
- 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 *
|
|
^window log on' > irssi-test/startup
|
|
echo load perl >> irssi-test/startup
|
|
echo load proxy >> irssi-test/startup
|
|
echo ^quit >> irssi-test/startup
|
|
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
|
|
cat irc.log.*
|