Skip to content

Fix a few FFI bindings #42

Fix a few FFI bindings

Fix a few FFI bindings #42

Workflow file for this run

# This is the CI for the main branch
name: Main CI
# Trigger the workflow on push or pull request, but only for the main branch
on:
pull_request:
branches: ["main"]
push:
branches: ["main"]
jobs:
# NOTE: Matrixes are not reusable at this time.
# SEE: https://github.com/actions/runner/issues/2424
# TODO: More proper build plan to cache and restore in separate jobs:
# Matrix: os
# Install system deps
# Install botan
# Checkout repo
# Cache deps, botan
# Matrix: os, ghc
# Restore deps, botan
# Setup haskell
# Cache haskell
# Matrix: os, ghc, target
# Restore deps, botan, haskell
# Build target
# Test target
configure:
name: Configure and build
strategy:
fail-fast: false
matrix:
# TODO: windows-latest
os: [ ubuntu-latest, macos-latest ]
ghc: [ "9.0.2", "9.2.8", "9.4.7", "9.6.3", "9.8.1" ]
# target: [ "botan-bindings", "botan-low", "botan" ]
exclude:
# NOTE: Fails on 9.0.2 macos m1 arm
- os: macos-latest
ghc: "9.0.2"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout base repo
uses: actions/checkout@v4
- name: Install Botan for Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
sudo apt-get -y update
sudo apt-get -y install clang build-essential curl libffi-dev libffi8ubuntu1 libgmp-dev libgmp10 libncurses-dev
sudo apt-get -y install pkg-config botan
- name: Install Botan for MacOS
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew update
brew install botan
- name: Set up Haskell
id: setup-haskell
uses: haskell/actions/setup@v2
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: 'latest'
- name: Build botan-bindings with ${{ matrix.ghc }} on ${{ matrix.os }}
run: |
cabal new-build botan-bindings
- id: build-botan-low
name: Build botan-low with ${{ matrix.ghc }} on ${{ matrix.os }}
run: |
cabal new-build botan-low
- id: build-botan
name: Build botan with ${{ matrix.ghc }} on ${{ matrix.os }}
run: |
cabal new-build botan
# - id: test-botan-low
# name: Test botan-low with ${{ matrix.ghc }} on ${{ matrix.os }}
# run: |
# cabal new-test botan-low