name: Build Windows Package on: push: # testing until merged into master workflow_dispatch: jobs: build: name: Build on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-2019] ghc: ["8.6.5"] cabal: ["2.4"] steps: - uses: actions/checkout@v2 - name: Setup MSYS2 uses: msys2/setup-msys2@v2 with: install: >- base-devel gcc - name: Setup Haskell uses: actions/setup-haskell@v1 id: setup-haskell-cabal with: ghc-version: ${{ matrix.ghc }} cabal-version: ${{ matrix.cabal }} - name: Install build tools run: | cabal install alex happy - name: Build C runtime shell: msys2 {0} run: | cd src/runtime/c autoreconf -i ./configure make make install - name: Build GF run: | cabal install --only-dependencies -fserver cabal configure -fserver cabal build - name: Upload exe to artifact uses: actions/upload-artifact@v2 with: name: gf-${{ github.sha }}-windows path: dist\build\gf\gf.exe if-no-files-found: error