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