Skip to content

Commit f9fbd01

Browse files
committed
Add big-endian configuration for CI
1 parent 459b5ce commit f9fbd01

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

.github/workflows/s390x.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: s390x
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request: {} # Validate all PRs
7+
8+
defaults:
9+
run:
10+
shell: bash
11+
12+
jobs:
13+
# Emulation on s390x platform is incredibly slow and memory demanding.
14+
# It seems that any executable with GHC RTS takes at least 7-8 Gb of RAM, so we can
15+
# run `cabal` or `ghc` on their own, but cannot run them both at the same time, striking
16+
# out `cabal test`. Instead we rely on system packages and invoke `ghc --make` manually,
17+
# and even so `ghc -O` is prohibitively expensive.
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v2
22+
- uses: uraimo/run-on-arch-action@v2.1.1
23+
timeout-minutes: 60
24+
with:
25+
arch: s390x
26+
distro: ubuntu20.04
27+
githubToken: ${{ github.token }}
28+
install: |
29+
apt-get update -y
30+
apt-get install -y ghc libghc-quickcheck2-dev libghc-hspec-dev libghc-getopt-generics-dev libghc-split-dev curl
31+
run: |
32+
ghc --version
33+
curl -s -L https://hackage.haskell.org/package/unicode-data-0.3.0.tar.gz | tar xz
34+
ghc --make -XMagicHash -XBangPatterns -XUnboxedTuples -itest:unicode-data-0.3.0/lib -o extras test/Extra.hs
35+
./extras
36+
ghc --make -XMagicHash -XBangPatterns -XUnboxedTuples -itest:unicode-data-0.3.0/lib -o quickcheck test/Properties.hs
37+
./quickcheck
38+
ghc --make -XMagicHash -XBangPatterns -XUnboxedTuples -itest:unicode-data-0.3.0/lib -o ucd test/NormalizationTest.hs
39+
./ucd

0 commit comments

Comments
 (0)