126 lines
2.5 KiB
YAML
126 lines
2.5 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
|
|
runs-on: macos-13
|
|
name: '🍏 macOS'
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
brew install bison
|
|
pip3 install --break-system-packages docopt
|
|
|
|
- name: Build, check and install
|
|
run: |
|
|
export PATH="/usr/local/opt/bison/bin:$PATH"
|
|
autoconf
|
|
./configure --enable-libveriuser
|
|
make -j$(nproc) check
|
|
sudo make install
|
|
|
|
- name: Test
|
|
run: ./.github/test.sh
|
|
|
|
|
|
lin:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [
|
|
'22.04',
|
|
'24.04'
|
|
]
|
|
runs-on: ubuntu-${{ matrix.os }}
|
|
name: '🐧 Ubuntu ${{ matrix.os }}'
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update -qq
|
|
sudo apt install -y make g++ git bison flex gperf libreadline-dev libbz2-dev autoconf python3-sphinx python3-docopt
|
|
|
|
- name: Build, check and install
|
|
run: |
|
|
autoconf
|
|
./configure --enable-libveriuser
|
|
make -j$(nproc) check
|
|
sudo make install
|
|
|
|
- name: Test
|
|
run: ./.github/test.sh
|
|
|
|
- name: Documentation
|
|
run: |
|
|
cd Documentation
|
|
make html
|
|
|
|
win:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include: [
|
|
{ msystem: MINGW64, arch: x86_64 }
|
|
]
|
|
name: 🟪 ${{ matrix.msystem}} · ${{ matrix.arch }}
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
env:
|
|
MINGW_ARCH: ${{ matrix.msystem }}
|
|
steps:
|
|
|
|
- run: git config --global core.autocrlf input
|
|
shell: bash
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ matrix.msystem }}
|
|
update: true
|
|
install: >
|
|
git
|
|
base-devel
|
|
gperf
|
|
python-pip
|
|
mingw-w64-${{ matrix.arch }}-toolchain
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '>=3.5'
|
|
|
|
- name: Build and check
|
|
run: |
|
|
cd msys2
|
|
makepkg-mingw --noconfirm --noprogressbar -sCLf
|
|
|
|
- name: Install
|
|
run: pacman -U --noconfirm msys2/*.zst
|
|
|
|
- name: Test
|
|
run: |
|
|
./.github/test.sh
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ matrix.msystem }}-${{ matrix.arch }}
|
|
path: msys2/*.zst
|