aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml40
1 files changed, 40 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..af3190c
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,40 @@
+name: CI
+
+on:
+ push:
+ pull_request:
+ schedule:
+ # Weekly, at 5:30 AM on Sunday (somewhat randomly chosen).
+ - cron: '30 5 * * 0'
+ workflow_dispatch:
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ platform: [x86_64, i386]
+ runs-on: windows-latest
+ name: 'Build: ${{ matrix.platform }}'
+ env:
+ platform: '${{ matrix.platform }}'
+ defaults:
+ run:
+ shell: pwsh
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Set up Stack
+ uses: haskell/actions/setup@v1
+ with:
+ enable-stack: true
+ stack-no-global: true
+ # TODO: caching.
+ - name: Build dependencies
+ run: stack --no-terminal build --arch '${{ matrix.platform }}' --only-dependencies
+ - name: Build
+ run: stack --no-terminal build --arch '${{ matrix.platform }}' --copy-bins --local-bin-path ../install
+ - name: Upload the binaries
+ uses: actions/upload-artifact@v2
+ with:
+ name: 'windows-env-${{ matrix.platform }}'
+ path: '${{ runner.workspace }}/install/'