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-15-intel 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, env: x86_64 } - { msystem: UCRT64, env: ucrt-x86_64 } - { msystem: CLANG64, env: clang-x86_64 } name: 🟪 ${{ matrix.msystem}} 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 python-pip mingw-w64-${{ matrix.env }}-perl - uses: actions/setup-python@v5 with: python-version: '>=3.5' - name: Build and check run: | cd msys2 if [ ${{ matrix.msystem }} != "CLANG64" ] ; then export IVL_CONFIG_OPTIONS="--enable-libveriuser" fi makepkg-mingw --noconfirm --noprogressbar -sCLf - name: Install run: pacman -U --noconfirm msys2/*.zst - name: Test run: | if [ ${{ matrix.msystem }} = "CLANG64" ] ; then ./.github/test.sh no-pli1 else ./.github/test.sh fi - uses: actions/upload-artifact@v4 with: name: ${{ matrix.msystem }} path: msys2/*.zst