0.52 #10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches-ignore: | |
- '*travis*' | |
- '*appveyor*' | |
- '*doozer*' | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
test: | |
name: ${{ matrix.os }} + ${{ matrix.window_manager }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: 'ubuntu-20.04' | |
window_manager: 'kwin' | |
- os: 'ubuntu-22.04' | |
window_manager: 'fvwm' | |
- os: 'ubuntu-24.04' | |
window_manager: 'twm' | |
steps: | |
- name: apt hacks | |
# removing non-needed apt repositories may speed up "apt-get update" | |
# also, 3rd party repositories might be unreliable | |
run: | | |
sudo rm -f /etc/apt/sources.list.d/*.list | |
sudo apt-get update -qq | |
if: "startsWith(matrix.os, 'ubuntu-')" | |
- uses: taiki-e/checkout-action@v1 | |
- name: Preinstall | |
env: | |
WINDOW_MANAGER: ${{ matrix.window_manager }} | |
run: | | |
set -e | |
sudo apt-get install -qq --no-install-recommends cpanminus xvfb perl-tk $([ "$WINDOW_MANAGER" = "kwin" ] && echo -n "kwin-x11" || echo -n $WINDOW_MANAGER) | |
cpanm --sudo --quiet --installdeps --notest . || ( cat ~/.cpanm/work/*/build.log; false ) | |
- name: Configure, Build and Test | |
env: | |
HARNESS_TIMER: 1 | |
HARNESS_OPTIONS: j8 | |
WINDOW_MANAGER: ${{ matrix.window_manager }} | |
run: | | |
Xvfb :123 & | |
export DISPLAY=:123 | |
(sleep 10; $WINDOW_MANAGER) & | |
perl Makefile.PL | |
make -j8 | |
make test | |
if: "!startsWith(matrix.os,'windows-')" | |
test_in_container: | |
name: Test with perl ${{ matrix.perlimage }} | |
runs-on: ubuntu-latest | |
container: perl:${{ matrix.perlimage }} | |
strategy: | |
matrix: | |
include: | |
- perlimage: 5.8.9-threaded-stretch | |
- perlimage: 5.10.1-buster | |
- perlimage: 5.12.5-stretch | |
- perlimage: 5.14.4-stretch | |
- perlimage: 5.16.3-buster | |
- perlimage: 5.18.4-buster | |
- perlimage: 5.22.4-stretch | |
- perlimage: 5.36.0-bullseye | |
- perlimage: 5.40.0-bookworm | |
steps: | |
- name: apt hacks | |
run: | | |
set -e | |
CODENAME=$(perl -nle '/^VERSION_CODENAME="?([^"]+)/ and $codename=$1; /^VERSION="\d+ \((.*)\)/ and $maybe_codename=$1; END { print $codename || $maybe_codename }' /etc/os-release) | |
case "$CODENAME" in | |
wheezy|jessie|stretch) | |
echo "APT::Get::AllowUnauthenticated 1;" > /etc/apt/apt.conf.d/02allow-unsigned | |
echo "deb [check-valid-until=no] http://archive.debian.org/debian $CODENAME main" > /etc/apt/sources.list | |
echo "deb [check-valid-until=no] http://archive.debian.org/debian-security/ $CODENAME/updates main" >> /etc/apt/sources.list | |
;; | |
esac | |
- uses: taiki-e/checkout-action@v1 | |
- name: "build and test" | |
run: | | |
apt-get update -qq && apt-get install -qq --no-install-recommends cpanminus xvfb libx11-dev libfreetype6-dev libxft-dev libpng-dev libz-dev libjpeg-dev twm | |
cpanm --quiet --installdeps --notest . || ( cat ~/.cpanm/work/*/build.log; false ) | |
Xvfb :123 & | |
export DISPLAY=:123 | |
(sleep 10; twm) & | |
perl Makefile.PL | |
make -j8 | |
HARNESS_TIMER=1 HARNESS_OPTIONS=j8 make test |