1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
irssi/.github/workflows/check.yml

159 lines
5.1 KiB
YAML
Raw Normal View History

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
env:
apt_build_deps: libutf8proc-dev libperl-dev libotr5-dev
apt_build_deps_meson: ninja-build
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
prefix: ~/irssi-build
2019-08-16 11:29:29 -04:00
jobs:
dist:
2019-08-16 11:29:29 -04:00
runs-on: ubuntu-latest
steps:
- name: prepare required software
run: |
2022-02-18 14:50:37 -05:00
sudo apt update && sudo apt install $apt_build_deps
- 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
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') }}
strategy:
2021-05-10 04:13:35 -04:00
fail-fast: false
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]
compiler: [clang, gcc]
2021-05-10 04:13:35 -04:00
flags: [regular]
include:
2023-04-04 09:18:54 -04:00
- os: ubuntu-20.04
builder: meson
meson_ver: ==0.53.2
setuptools_ver: <51
2021-05-10 04:13:35 -04:00
- os: ubuntu-latest
builder: meson
meson_ver: <0.63.0
2021-05-10 04:13:35 -04:00
- os: ubuntu-latest
builder: meson
flags: meson-latest FAILURE-OK
steps:
- name: fetch dist
2024-04-01 16:28:17 -04:00
uses: actions/download-artifact@v4
- 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: 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
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
cat irc.log.*
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.*