mirror of
https://github.com/steveicarus/iverilog.git
synced 2026-08-28 16:53:45 +02:00
Adding these build variants to the platform in question results in the smallest increase in the number of additional build jobs.
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
|