Add exotic CIs

This commit is contained in:
Bodigrim 2021-11-08 20:33:49 +00:00
parent 5181c37339
commit e8cacc5efb
3 changed files with 100 additions and 2 deletions

12
.cirrus.yml Normal file
View File

@ -0,0 +1,12 @@
freebsd_instance:
image_family: freebsd-13-0
task:
install_script: pkg install -y ghc hs-cabal-install
script:
- export LC_ALL=C.UTF-8
- uname -a # check platform
- getconf LONG_BIT # check bitness
- cabal --version
- cabal update
- cabal build

View File

@ -1,11 +1,27 @@
kind: pipeline
name: arm
platform: { os: linux, arch: arm }
steps:
- name: Build
image: elmanhasa/haskell-base
commands:
- export LC_ALL=C.UTF-8
- uname -a # check platform
- getconf LONG_BIT # check bitness
- cabal --version
- cabal update
- cabal new-build
---
kind: pipeline
name: arm64
platform: { os: linux, arch: arm64 }
steps:
- name: Test
- name: Build
image: buildpack-deps:focal
commands:
- export LC_ALL=C.UTF-8
- uname -a # check platform
- getconf LONG_BIT # check bitness
- apt-get update -y
- apt-get install -y ghc cabal-install
- cabal --version
@ -16,10 +32,12 @@ kind: pipeline
name: i386
platform: { os: linux, arch: amd64 }
steps:
- name: Test
- name: Build
image: i386/ubuntu
commands:
- export LC_ALL=C.UTF-8
- uname -a # check platform
- getconf LONG_BIT # check bitness
- apt-get update -y
- apt-get install -y ghc cabal-install
- cabal --version # 1.24

68
.github/workflows/other.yml vendored Normal file
View File

@ -0,0 +1,68 @@
name: other
on:
- push
- pull_request
defaults:
run:
shell: bash
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [windows-latest, macOS-latest]
ghc: ['latest']
steps:
- uses: actions/checkout@v2
- uses: haskell/actions/setup@v1
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
- name: Update cabal package database
run: cabal update
- uses: actions/cache@v2
name: Cache cabal stuff
with:
path: |
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
dist-newstyle
key: ${{ runner.os }}-${{ matrix.ghc }}
- name: Build
run: |
cabal sdist -z -o .
cabal get tasty-bench-*.tar.gz
cd tasty-bench-*/
cabal build
- name: Haddock
run: |
cd tasty-bench-*/
cabal haddock
# Emulation on s390x and ppc64le platforms is incredibly slow and memory demanding.
# It seems that any executable with GHC RTS takes at least 7-8 Gb of RAM, so we can
# run `cabal` or `ghc` on their own, but cannot run them both at the same time, striking
# out `cabal build`. Instead we install system packages and invoke `ghc` manually.
emulated:
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
arch: ['s390x', 'ppc64le']
steps:
- uses: actions/checkout@v2
- uses: uraimo/run-on-arch-action@v2.1.1
with:
arch: ${{ matrix.arch }}
distro: ubuntu20.04
githubToken: ${{ github.token }}
install: |
apt-get update -y
apt-get install -y ghc libghc-tasty-dev
run: |
ghc --version
ghc Test/Tasty/Bench.hs