myriad/.github/workflows/build.yaml

59 lines
1.7 KiB
YAML

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