@@ -0,0 +1,45 @@
1+name: Github Action Docker Image
2+
3+on:
4+ push:
5+ branches: [master]
6+ pull_request:
7+ branches: [master]
8+ release:
9+ types: [prereleased]
10+
11+jobs:
12+ check_versions:
13+ runs-on: ubuntu-latest
14+ steps:
15+ - uses: actions/checkout@v2
16+
17+ - name: Check library version
18+ if: github.event_name == 'release'
19+ run: |
20+ if [ "$(yq eval ".version" package.yaml)" != "${{ github.event.release.tag_name }}" ]; then
21+ echo "::error file=action.yaml::Library version does not match release version."
22+ exit 1
23+ fi
24+ Linux:
25+ needs: check_versions
26+ runs-on: ubuntu-latest
27+ steps:
28+ - uses: actions/checkout@v2
29+
30+
31+ - name: Cache
32+ uses: actions/cache@v1
33+ with:
34+ path: |
35+ ~/.stack
36+ .stack-work
37+ key: ${{ runner.os }}-stack-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}
38+ restore-keys: |
39+ ${{ runner.os }}-stack-${{ hashFiles('stack.yaml') }}
40+ ${{ runner.os }}-stack
41+
42+ - name: Build
43+ shell: bash
44+ run: |
45+ stack build