Skip to content

Commit b3c0b10

Browse files
committed
Use self-hosted FreeBSD runners
1 parent cd74aa7 commit b3c0b10

File tree

3 files changed

+67
-9
lines changed

3 files changed

+67
-9
lines changed

.cirrus.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
task:
2-
name: FreeBSD
3-
freebsd_instance:
4-
image_family: freebsd-13-2
5-
install_script: pkg install -y ghc hs-cabal-install git autoconf
6-
script:
7-
- cabal update
8-
- autoreconf -i
9-
- cabal test --test-show-details=direct
1+
# task:
2+
# name: FreeBSD
3+
# freebsd_instance:
4+
# image_family: freebsd-13-2
5+
# install_script: pkg install -y ghc hs-cabal-install git autoconf
6+
# script:
7+
# - cabal update
8+
# - autoreconf -i
9+
# - cabal test --test-show-details=direct
1010

1111
task:
1212
name: OpenBSD

.github/scripts/env.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/sh
2+
3+
if [ "${RUNNER_OS}" = "Windows" ] ; then
4+
ext=".exe"
5+
else
6+
ext=''
7+
fi
8+
9+
export DEBIAN_FRONTEND=noninteractive
10+
export TZ=Asia/Singapore
11+
12+
export OS="$RUNNER_OS"
13+
export PATH="$HOME/.local/bin:$PATH"
14+
15+
if [ "${RUNNER_OS}" = "Windows" ] ; then
16+
# on windows use pwd to get unix style path
17+
CI_PROJECT_DIR="$(pwd)"
18+
export CI_PROJECT_DIR
19+
export GHCUP_INSTALL_BASE_PREFIX="/c"
20+
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/ghcup/bin"
21+
export PATH="$GHCUP_BIN:$PATH"
22+
export CABAL_DIR="C:\\Users\\runneradmin\\AppData\\Roaming\\cabal"
23+
else
24+
export CI_PROJECT_DIR="${GITHUB_WORKSPACE}"
25+
export GHCUP_INSTALL_BASE_PREFIX="$CI_PROJECT_DIR"
26+
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin"
27+
export PATH="$GHCUP_BIN:$PATH"
28+
export CABAL_DIR="$CI_PROJECT_DIR/cabal"
29+
export CABAL_CACHE="$CI_PROJECT_DIR/cabal-cache"
30+
fi
31+

.github/workflows/ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,3 +131,30 @@ jobs:
131131
name: Run build (arm64v8 linux)
132132
with:
133133
args: sh -c "cabal update && autoreconf -i && cabal test all --test-show-details=direct"
134+
135+
freebsd:
136+
runs-on: ${{ matrix.os }}
137+
strategy:
138+
fail-fast: false
139+
matrix:
140+
include:
141+
- os: [self-hosted, FreeBSD, X64]
142+
ghc: 9.4.8
143+
- os: [self-hosted, FreeBSD, X64]
144+
ghc: 9.6.4
145+
steps:
146+
- name: Checkout code
147+
uses: actions/checkout@v4
148+
149+
- name: Run build
150+
run: |
151+
pkg install -y curl gcc gmp gmake ncurses perl5 libffi libiconv git bash misc/compat10x misc/compat11x misc/compat12x gmake autoconf
152+
. .github/scripts/env.sh
153+
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_GHC_VERSION=${{ matrix.ghc }} BOOTSTRAP_HASKELL_ADJUST_BASHRC=yes sh
154+
autoreconf --version
155+
autoreconf -i
156+
cabal sdist -z -o .
157+
cabal get unix-*.tar.gz
158+
cd unix-*/
159+
cabal test all --test-show-details=direct
160+

0 commit comments

Comments
 (0)