name: test on: push: pull_request: jobs: lin: strategy: fail-fast: false matrix: os: [ '18.04', '20.04' ] runs-on: ubuntu-${{ matrix.os }} name: '๐Ÿง Ubuntu ${{ matrix.os }}' steps: - uses: actions/checkout@v2 - name: Install dependencies run: | sudo apt update -qq sudo apt install -y make g++ git bison flex gperf libreadline-dev autoconf - name: Build run: | autoconf ./configure sudo make install make check - name: Test run: ./.github/test.sh win: runs-on: windows-latest strategy: fail-fast: false matrix: shell: [ mingw64, msys2 ] build: [ manual, pkgbuild ] task: [ { label: '๐ŸงŠ', msystem: MINGW64, arch: x86_64, release: false, }, { label: '๐ŸŸช', msystem: MINGW64, arch: x86_64, release: true, }, { label: '๐ŸŸช', msystem: MINGW32, arch: i686, release: true, } ] name: ${{ matrix.task.label }} ${{ matrix.task.msystem}} ยท ${{ matrix.shell }} ยท ${{ matrix.build }} defaults: run: shell: ${{ matrix.shell }} {0} env: MINGW_INSTALLS: ${{ matrix.task.msystem }} MSYSTEM: ${{ matrix.task.msystem }} steps: - name: Setup shell: bash run: | git config --global core.autocrlf input echo "$(cygpath -w $(pwd)/.github/bin)" >> $GITHUB_PATH - uses: actions/checkout@v2 - uses: msys2/setup-msys2@v2 with: release: ${{ matrix.task.release }} msystem: ${{ matrix.task.msystem }} install: > git base-devel mingw-w64-${{ matrix.task.arch }}-toolchain update: true - name: ๐ŸงŠ Build, install and check if: matrix.build == 'manual' run: | wrap() { echo "::group::$@"; "$@"; echo '::endgroup::'; } wrap ./autoconf.sh wrap ./configure wrap mingw32-make install which iverilog wrap mingw32-make check - name: ๐ŸŸช Build and check if: matrix.build == 'pkgbuild' run: | cd msys2 makepkg-mingw --noconfirm --noprogressbar -sCLf - name: ๐ŸŸช Install if: matrix.build == 'pkgbuild' run: pacman -U --noconfirm msys2/*.zst - name: Test run: ./.github/test.sh