Skip to content

Use embedded icon - Part II #189

Use embedded icon - Part II

Use embedded icon - Part II #189

Workflow file for this run

name: CI
# Trigger the workflow on push or pull request, but only for the master branch
on:
pull_request:
push:
branches: [master]
jobs:
cabal:
name: cabal / ghc-${{ matrix.ghc }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
# Termonad sometimes requires VTE features that are only in recent releases of VTE.
# Older versions of Ubuntu may not have a new enough VTE, so we test on multiple
# versions of Ubuntu (and therefore multiple versions of VTE).
- ubuntu-22.04
- ubuntu-20.04
# - macOS-latest
cabal: ["latest"]
ghc:
- "8.10.7"
- "9.0.2"
- "9.2.7"
- "9.4.4"
steps:
- uses: actions/checkout@v3
#if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
- uses: haskell/actions/setup@v2
id: setup-haskell-cabal
name: Setup Haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- uses: actions/cache@v3
name: Cache cabal-store
with:
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key: ${{ matrix.os }}-${{ matrix.ghc }}-cabal
- name: Update apt
run: sudo apt-get update
- name: Install Required System Packages
run: sudo apt-get install gobject-introspection libgirepository1.0-dev libgtk-3-dev libvte-2.91-dev libpcre2-dev
- name: Build
run: |
cabal update
cabal build all --enable-tests --enable-benchmarks --write-ghc-environment-files=always
- name: Test
run: |
cabal test all --enable-tests
stack:
name: stack ${{ matrix.resolver }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
stack: ["latest"]
resolver:
- "--stack-yaml ./stack.yaml" # Stackage LTS
- "--stack-yaml ./stack-nightly.yaml" # Stackage Nightly
os:
# Termonad sometimes requires VTE features that are only in recent releases of VTE.
# Older versions of Ubuntu may not have a new enough VTE, so we test on multiple
# versions of Ubuntu (and therefore multiple versions of VTE).
- ubuntu-22.04
- ubuntu-20.04
# - macOS-latest
steps:
- uses: actions/checkout@v3
#if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
- uses: haskell/actions/setup@v2
name: Setup Haskell Stack
with:
stack-version: ${{ matrix.stack }}
enable-stack: true
- uses: actions/cache@v3
name: Cache ~/.stack
with:
path: ~/.stack
key: ${{ matrix.os }}-stack-${{ matrix.resolver }}
- name: Update apt
run: sudo apt-get update
- name: Install Required System Packages
run: sudo apt-get install gobject-introspection libgirepository1.0-dev libgtk-3-dev libvte-2.91-dev libpcre2-dev
- name: Build
run: |
stack ${{ matrix.resolver }} build --test --bench --no-run-tests --no-run-benchmarks --flag termonad:buildexamples
- name: Test
run: |
stack ${{ matrix.resolver }} test --flag termonad:buildexamples
nix:
name: nix / ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: nix-build
- run: nix-build shell.nix
nix-flakes:
name: nix flakes / ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
- run: nix build
- run: nix build .#devShell.x86_64-linux