mirror of
https://github.com/jgm/pandoc.git
synced 2026-07-17 14:57:15 +00:00
8c42926cb2
Djot is a light markup syntax (https://djot.net). This patch adds djot as input and output formats. API changes: Add Text.Pandoc.Readers.Djot Add Text.Pandoc.Writers.Djot
249 lines
6.3 KiB
YAML
249 lines
6.3 KiB
YAML
name: CI tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '*'
|
|
- '!rc/*'
|
|
- '!djot'
|
|
paths-ignore:
|
|
- 'doc/*.md'
|
|
- 'MANUAL.txt'
|
|
- '*.md'
|
|
- '.cirrus.yml'
|
|
- 'RELEASE_CHECKLIST'
|
|
- 'BUGS'
|
|
- 'README.template'
|
|
- 'hie.yaml'
|
|
- '*.nix'
|
|
- 'tools/**'
|
|
- 'linux/**'
|
|
- 'macos/**'
|
|
- 'windows/**'
|
|
- 'man/**'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'doc/*.md'
|
|
- 'MANUAL.txt'
|
|
- '*.md'
|
|
- 'RELEASE_CHECKLIST'
|
|
- 'BUGS'
|
|
- 'README.template'
|
|
- 'hie.yaml'
|
|
- '*.nix'
|
|
- 'tools/**'
|
|
- 'linux/**'
|
|
- 'macos/**'
|
|
- 'windows/**'
|
|
- 'man/**'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
linux:
|
|
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
versions:
|
|
- ghc: '8.10'
|
|
cabal: 'latest'
|
|
cabalopts: ''
|
|
- ghc: '9.0'
|
|
cabal: 'latest'
|
|
cabalopts: ''
|
|
- ghc: '9.2'
|
|
cabal: 'latest'
|
|
cabalopts: ''
|
|
- ghc: '9.4'
|
|
cabal: 'latest'
|
|
cabalopts: ''
|
|
- ghc: '9.6'
|
|
cabal: 'latest'
|
|
cabalopts: ''
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
# needed by memory
|
|
- name: Install numa
|
|
run: sudo apt-get install libnuma-dev
|
|
|
|
- name: Workaround runner image issue
|
|
# https://github.com/actions/runner-images/issues/7061
|
|
run: sudo chown -R $USER /usr/local/.ghcup
|
|
|
|
- name: Install cabal/ghc
|
|
run: |
|
|
ghcup install ghc --set ${{ matrix.versions.ghc }}
|
|
ghcup install cabal --set ${{ matrix.versions.cabal }}
|
|
|
|
# declare/restore cached things
|
|
|
|
- name: Cache cabal global package db
|
|
id: cabal-global
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.local/state/cabal
|
|
key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Cache cabal work
|
|
id: cabal-local
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
dist-newstyle
|
|
key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Update cabal
|
|
run: |
|
|
cabal update
|
|
|
|
- name: Build and test
|
|
run: |
|
|
cabal test ${{ matrix.versions.cabalopts }} --enable-tests --disable-optimization --ghc-options=-Werror all
|
|
|
|
linux-stack:
|
|
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: true
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
# needed by memory
|
|
- name: Install numa
|
|
run: sudo apt-get install libnuma-dev
|
|
|
|
# declare/restore cached things
|
|
- name: Cache stack global package db
|
|
id: stack-global
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.stack
|
|
key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-stack-global-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Cache stack work
|
|
id: stack-local
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
.stack-work
|
|
key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-stack-local-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Build and test
|
|
run: |
|
|
stack test --fast
|
|
|
|
linux-nix-cabal:
|
|
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: true
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: cachix/install-nix-action@v25
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- name: Cache cabal global package db
|
|
id: cabal-global
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.local/state/cabal
|
|
key: ${{ runner.os }}-nix-cabal-global-${{ secrets.CACHE_VERSION }}
|
|
- name: Cache cabal work
|
|
id: cabal-local
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
dist-newstyle
|
|
key: ${{ runner.os }}-nix-cabal-local-${{ secrets.CACHE_VERSION }}
|
|
- run: |
|
|
nix-shell --run "cabal update && cabal test --enable-tests --disable-optimization --ghc-options=-Werror all"
|
|
|
|
windows:
|
|
|
|
runs-on: windows-2019
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install ghc
|
|
run: |
|
|
ghcup install ghc --set 9.4.4
|
|
|
|
# declare/restore cached things
|
|
|
|
- name: Cache cabal global package db
|
|
id: cabal-global
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
C:\cabal\store
|
|
key: ${{ runner.os }}-appdata-cabal-${{ hashFiles('cabal.project') }}-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Cache cabal work
|
|
id: cabal-local
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
dist-newstyle
|
|
key: ${{ runner.os }}-stack-work-${{ hashFiles('cabal.project') }}-${{ secrets.CACHE_VERSION }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
cabal update
|
|
cabal test ${{ matrix.versions.cabalopts }} --enable-tests --disable-optimization --ghc-options=-Werror all
|
|
|
|
# We no longer run the macos tests, to make CI faster.
|
|
# macos:
|
|
|
|
# runs-on: macos-11
|
|
# strategy:
|
|
# fail-fast: true
|
|
# matrix:
|
|
# versions:
|
|
# - ghc: '8.8.4'
|
|
# cabal: '3.2'
|
|
|
|
# steps:
|
|
# - uses: actions/checkout@v4
|
|
|
|
# - name: Install cabal/ghc
|
|
# run: |
|
|
# ghcup install ghc --set ${{ matrix.versions.ghc }}
|
|
# ghcup install cabal ${{ matrix.versions.cabal }}
|
|
|
|
# # declare/restore cached things
|
|
|
|
# - name: Cache cabal global package db
|
|
# id: cabal-global
|
|
# uses: actions/cache@v4
|
|
# with:
|
|
# path: |
|
|
# ~/.cabal
|
|
# key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ secrets.CACHE_VERSION }}
|
|
|
|
# - name: Cache cabal work
|
|
# id: cabal-local
|
|
# uses: actions/cache@v4
|
|
# with:
|
|
# path: |
|
|
# dist-newstyle
|
|
# key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local-${{ secrets.CACHE_VERSION }}
|
|
|
|
# - name: Install dependencies
|
|
# run: |
|
|
# cabal v2-update
|
|
# cabal v2-build --dependencies-only --enable-tests --disable-optimization
|
|
# - name: Build and test
|
|
# run: |
|
|
# cabal v2-build --enable-tests --disable-optimization 2>&1 | tee build.log
|
|
# # fail if warnings in local build
|
|
# ! grep -q ": *[Ww]arning:" build.log || exit 1
|
|
# cabal v2-test --disable-optimization --test-option=--hide-successes --test-option=--ansi-tricks=false
|