162 lines
4.1 KiB
YAML
162 lines
4.1 KiB
YAML
name: test
|
|
|
|
on:
|
|
# Every push onto the main branch triggers a retest.
|
|
push:
|
|
branches:
|
|
- master
|
|
# All pull_requests trigger a retest.
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
|
|
mac:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
libvvp: [true]
|
|
suffix: [true]
|
|
runs-on: macos-15-intel
|
|
name: 🍏 macOS${{ matrix.libvvp && ' +libvvp' || '' }}${{ matrix.suffix && ' +suffix' || '' }}
|
|
steps:
|
|
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
brew install bison
|
|
|
|
- name: Build, check and install
|
|
run: |
|
|
export PATH="/usr/local/opt/bison/bin:$PATH"
|
|
CONFIG_OPTS="--enable-libveriuser"
|
|
if [ "${{ matrix.libvvp }}" = "true" ]; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-libvvp"
|
|
fi
|
|
if [ "${{ matrix.suffix }}" = "true" ]; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-suffix"
|
|
fi
|
|
autoconf
|
|
./configure $CONFIG_OPTS
|
|
make -j$(nproc) check
|
|
sudo make install
|
|
|
|
- name: Test
|
|
run: |
|
|
make check-installed
|
|
|
|
|
|
lin:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ['22.04', '24.04']
|
|
# libvvp: [false, true]
|
|
# suffix: [false, true]
|
|
runs-on: ubuntu-${{ matrix.os }}
|
|
name: 🐧 Ubuntu ${{ matrix.os }}${{ matrix.libvvp && ' +libvvp' || '' }}${{ matrix.suffix && ' +suffix' || '' }}
|
|
steps:
|
|
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update -qq
|
|
sudo apt install -y make g++ git bison flex gperf libreadline-dev libbz2-dev autoconf python3-venv
|
|
python3 -m venv .venv
|
|
. .venv/bin/activate
|
|
pip install --upgrade pip
|
|
pip install -r Documentation/requirements.txt
|
|
|
|
- name: Build, check and install
|
|
run: |
|
|
CONFIG_OPTS="--enable-libveriuser"
|
|
if [ "${{ matrix.libvvp }}" = "true" ]; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-libvvp"
|
|
fi
|
|
if [ "${{ matrix.suffix }}" = "true" ]; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-suffix"
|
|
fi
|
|
autoconf
|
|
./configure $CONFIG_OPTS
|
|
make -j$(nproc) check
|
|
sudo make install
|
|
|
|
- name: Test
|
|
run:
|
|
make check-installed
|
|
|
|
- name: Documentation
|
|
run: |
|
|
. .venv/bin/activate
|
|
cd Documentation
|
|
make html
|
|
|
|
win:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
msystem: [MINGW64, UCRT64, CLANG64]
|
|
# libvvp: [false, true]
|
|
# suffix: [false, true]
|
|
include:
|
|
- { msystem: MINGW64, env: x86_64 }
|
|
- { msystem: UCRT64, env: ucrt-x86_64 }
|
|
- { msystem: CLANG64, env: clang-x86_64 }
|
|
name: 🟪 ${{ matrix.msystem }}${{ matrix.libvvp && ' +libvvp' || '' }}${{ matrix.suffix && ' +suffix' || '' }}
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
env:
|
|
MINGW_ARCH: ${{ matrix.msystem }}
|
|
steps:
|
|
|
|
- run: git config --global core.autocrlf input
|
|
shell: bash
|
|
|
|
- uses: actions/checkout@v6
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ matrix.msystem }}
|
|
update: true
|
|
install: >
|
|
git
|
|
base-devel
|
|
python-pip
|
|
mingw-w64-${{ matrix.env }}-perl
|
|
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '>=3.5'
|
|
|
|
- name: Build and check
|
|
run: |
|
|
cd msys2
|
|
CONFIG_OPTS=""
|
|
if [ ${{ matrix.msystem }} != "CLANG64" ] ; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-libveriuser"
|
|
fi
|
|
if [ "${{ matrix.libvvp }}" = "true" ] ; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-libvvp"
|
|
fi
|
|
if [ "${{ matrix.suffix }}" = "true" ]; then
|
|
CONFIG_OPTS="$CONFIG_OPTS --enable-suffix"
|
|
fi
|
|
export IVL_CONFIG_OPTIONS="$CONFIG_OPTS"
|
|
makepkg-mingw --noconfirm --noprogressbar -sCLf
|
|
|
|
- name: Install
|
|
run: pacman -U --noconfirm msys2/*.zst
|
|
|
|
- name: Test
|
|
run: |
|
|
make check-installed
|
|
|
|
- uses: actions/upload-artifact@v7
|
|
with:
|
|
name: 🟪 ${{ matrix.msystem }}${{ matrix.libvvp && ' +libvvp' || '' }}
|
|
path: msys2/*.zst
|