Skip to content

Commit 63fcb60

Browse files
authored
Replace drone.io jobs with GHA (#568)
* Replace drone.io jobs with GHA * Fix toFilePath >>= fromFilePath test
1 parent 0eb7a6a commit 63fcb60

File tree

3 files changed

+43
-85
lines changed

3 files changed

+43
-85
lines changed

.drone.yml

Lines changed: 0 additions & 62 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ jobs:
1717
fail-fast: true
1818
matrix:
1919
os: [ubuntu-latest]
20-
ghc: ['8.0', '8.2', '8.4', '8.6', '8.8', '8.10', '9.0', '9.2', '9.4.1']
20+
ghc: ['8.0', '8.2', '8.4', '8.6', '8.8', '8.10', '9.0', '9.2', '9.4']
2121
include:
2222
- os: macOS-latest
2323
ghc: 'latest'
2424
steps:
25-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v3
2626
- name: Install libncurses5 and libtinfo
27-
if: runner.os == 'Linux' && matrix.ghc <= '8.2'
27+
if: runner.os == 'Linux' && (matrix.ghc == '8.0' || matrix.ghc == '8.2')
2828
run: |
2929
sudo apt-get install libncurses5 libtinfo5
30-
- uses: haskell/actions/setup@v1
30+
- uses: haskell/actions/setup@v2
3131
id: setup-haskell-cabal
3232
with:
3333
ghc-version: ${{ matrix.ghc }}
@@ -63,16 +63,12 @@ jobs:
6363
windows-build:
6464
runs-on: windows-latest
6565
needs: build
66-
strategy:
67-
fail-fast: true
68-
matrix:
69-
ghc: ['latest']
7066
steps:
71-
- uses: actions/checkout@v2
72-
- uses: haskell/actions/setup@v1
67+
- uses: actions/checkout@v3
68+
- uses: haskell/actions/setup@v2
7369
id: setup-haskell-cabal
7470
with:
75-
ghc-version: ${{ matrix.ghc }}
71+
ghc-version: 'latest'
7672
- name: Update cabal package database
7773
run: cabal update
7874
- uses: actions/cache@v2
@@ -81,7 +77,7 @@ jobs:
8177
path: |
8278
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
8379
dist-newstyle
84-
key: ${{ runner.os }}-${{ matrix.ghc }}
80+
key: ${{ runner.os }}-latest
8581
# We rebuild tests several times to avoid intermittent failures on Windows
8682
# https://github.com/haskell/actions/issues/36
8783
# We also use --enable-tests and --enable-benchmarks to avoid
@@ -126,9 +122,9 @@ jobs:
126122
strategy:
127123
fail-fast: true
128124
matrix:
129-
arch: ['s390x', 'ppc64le']
125+
arch: ['s390x', 'ppc64le', 'armv7', 'aarch64']
130126
steps:
131-
- uses: actions/checkout@v2
127+
- uses: actions/checkout@v3
132128
- uses: uraimo/[email protected]
133129
timeout-minutes: 60
134130
with:
@@ -148,11 +144,11 @@ jobs:
148144
needs: build
149145
runs-on: ubuntu-latest
150146
steps:
151-
- uses: actions/checkout@v2
152-
- uses: haskell/actions/setup@v1
147+
- uses: actions/checkout@v3
148+
- uses: haskell/actions/setup@v2
153149
id: setup-haskell-cabal
154150
with:
155-
ghc-version: "9.2.2"
151+
ghc-version: 'latest'
156152
- name: Update cabal package database
157153
run: cabal update
158154
- uses: actions/cache@v2
@@ -161,7 +157,7 @@ jobs:
161157
path: |
162158
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
163159
dist-newstyle
164-
key: ${{ runner.os }}-9.2.2
160+
key: ${{ runner.os }}-latest
165161
- name: Test
166162
run: cabal test --ghc-options='-fcheck-prim-bounds -fno-ignore-asserts'
167163

@@ -175,11 +171,34 @@ jobs:
175171
run: |
176172
yum install -y gcc gmp gmp-devel make ncurses ncurses-compat-libs xz perl
177173
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 sh
178-
shell: bash
179-
- uses: actions/checkout@v2
174+
- uses: actions/checkout@v3
180175
- name: test
181176
run: |
182177
source ~/.ghcup/env
183178
cabal update
184179
cabal run bytestring-tests
185-
shell: bash
180+
181+
i386:
182+
needs: build
183+
runs-on: ubuntu-latest
184+
container:
185+
image: i386/ubuntu:bionic
186+
steps:
187+
- name: Install
188+
run: |
189+
apt-get update -y
190+
apt-get install -y ghc cabal-install
191+
- uses: actions/checkout@v1
192+
# We need to break dependency circuit between optparse-applicative,
193+
# process, unix and bytestring. Newer versions of Cabal are capable
194+
# of coming up with these automatically, but older ones need a hint.
195+
# Specifically, we need to inform Cabal that:
196+
#
197+
# * optparse-applicative doesn't use process;
198+
# * QuickCheck uses the old random package; and
199+
# * tasty doesn't use unix.
200+
- name: Test
201+
run: |
202+
cabal update
203+
cabal install --dependencies-only --enable-tests --constraint 'optparse-applicative -process' --constraint 'QuickCheck +old-random' --constraint 'tasty -unix'
204+
cabal test

tests/Properties/ByteString.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,9 @@ tests =
151151
-- but if it is ASCII, we should not generate Unicode filenames.
152152
enc <- getFileSystemEncoding
153153
pure $ case textEncodingName enc of
154-
"ASCII" -> property (prop . getASCIIString)
155-
_ -> property prop
154+
"ASCII" -> property (prop . getASCIIString)
155+
"ANSI_X3.4-1968" -> property (prop . getASCIIString)
156+
_ -> property prop
156157
#endif
157158

158159
, testProperty "==" $

0 commit comments

Comments
 (0)