name: Builds on: release: types: [created] jobs: build: strategy: fail-fast: false matrix: ghc: ['8.8.3'] os: [ubuntu-latest, macos-latest] include: # GHC 8.8.3 fails to install on Windows - ghc: '8.6.5' os: windows-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - uses: actions/setup-haskell@v1.1.1 with: ghc-version: ${{ matrix.ghc }} cabal-version: '3.2' # - name: Freeze # run: cabal freeze # - name: Cache Cabal # uses: actions/cache@v1.2.0 # with: # path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }} # key: ${{ runner.OS }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }} - name: Build Myriad run: cabal build -O2 myriad:exe:myriad - name: Find Binary id: find_binary shell: bash run: | FOUND=$(find dist-newstyle \( -name 'myriad' -o -name 'myriad.exe' \) -type f) cp $FOUND myriad cp config.example.yaml config.yaml strip myriad tar -cvzf myriad-${{ github.event.release.name }}-${{ runner.OS }}-${{ matrix.ghc }}.tar.gz config.yaml languages myriad - name: Upload Binary uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: myriad-${{ github.event.release.name }}-${{ runner.OS }}-${{ matrix.ghc }}.tar.gz asset_name: myriad-${{ github.event.release.name }}-${{ runner.OS }}-${{ matrix.ghc }}.tar.gz asset_content_type: application/gzip