github: add action for building binaries
This commit is contained in:
parent
9415ea0d59
commit
bb7ba0c638
1 changed files with 52 additions and 0 deletions
52
.github/workflow/build.yml
vendored
Normal file
52
.github/workflow/build.yml
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
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'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- uses: actions/setup-haskell@v1.1.1
|
||||||
|
with:
|
||||||
|
ghc-version: ${{ matrix.ghc }}
|
||||||
|
cabal-version: '3.2'
|
||||||
|
|
||||||
|
- name: Cache Cabal
|
||||||
|
uses: actions/cache@v1.2.0
|
||||||
|
with:
|
||||||
|
path: ~/.cabal
|
||||||
|
key: ${{ runner.OS }}-${{ matrix.ghc }}-cabal-0
|
||||||
|
|
||||||
|
- 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)
|
||||||
|
strip -s $FOUND
|
||||||
|
gzip --best $FOUND
|
||||||
|
echo ::set-output name=binary::$FOUND.gz
|
||||||
|
|
||||||
|
- 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: ${{ steps.find_binary.outputs.binary }}
|
||||||
|
asset_name: myriad-${{ github.event.release.name }}-${{ runner.OS }}-${{ matrix.ghc }}.gz
|
||||||
|
asset_content_type: application/gzip
|
Loading…
Reference in a new issue