diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 23a95f9e0..bd6ac4622 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,10 +39,38 @@ jobs: win: runs-on: windows-latest - name: '๐ŸงŠ Windows' + strategy: + fail-fast: false + matrix: + include: [ + { + label: '๐ŸงŠ Windows', + msystem: MINGW64, + arch: x86_64, + release: false, + shell: mingw64, + }, + { + label: '๐ŸŸช MSYS2', + msystem: MINGW64, + arch: x86_64, + release: true, + shell: msys2, + }, + { + label: '๐ŸŸช MSYS2', + msystem: MINGW32, + arch: i686, + release: true, + shell: msys2, + } + ] + name: ${{ matrix.label }} ยท ${{ matrix.msystem}} defaults: run: - shell: mingw64 {0} + shell: ${{ matrix.shell }} {0} + env: + MINGW_INSTALLS: ${{ matrix.msystem }} steps: - name: Setup @@ -55,14 +83,16 @@ jobs: - uses: msys2/setup-msys2@v2 with: - release: false - msystem: MINGW64 + release: ${{ matrix.release }} + msystem: ${{ matrix.msystem }} install: > + git base-devel - mingw-w64-x86_64-toolchain + mingw-w64-${{ matrix.arch }}-toolchain update: true - - name: Build, install and check + - name: ๐ŸงŠ Build, install and check + if: matrix.shell == 'mingw64' run: | wrap() { echo "::group::$@"; "$@"; echo '::endgroup::'; } wrap ./autoconf.sh @@ -71,47 +101,14 @@ jobs: which iverilog wrap make check - - name: Test - run: ./.github/test.sh - - - msys2: - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - include: [ - { msystem: MINGW64, arch: x86_64 }, - { msystem: MINGW32, arch: i686 } - ] - name: '๐ŸŸช MSYS2 ยท ${{ matrix.msystem }}' - defaults: - run: - shell: msys2 {0} - env: - MINGW_INSTALLS: ${{ matrix.msystem }} - steps: - - - run: git config --global core.autocrlf input - shell: bash - - - uses: actions/checkout@v2 - - - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.msystem }} - install: > - git - base-devel - mingw-w64-${{ matrix.arch }}-toolchain - update: true - - - name: Build + - name: ๐ŸŸช Build and check + if: matrix.shell == 'msys2' run: | cd msys2 makepkg-mingw --noconfirm --noprogressbar -sCLf - - name: Install + - name: ๐ŸŸช Install + if: matrix.shell == 'msys2' run: pacman -U --noconfirm msys2/*.zst - name: Test