Commit graph

178 commits

Author SHA1 Message Date
John MacFarlane
0075a456cc Fix benchmark in ci. 2021-03-17 17:08:42 -07:00
John MacFarlane
2770f88d53 Fix benchmark CI to use gauge options. 2021-03-16 13:01:38 -07:00
John MacFarlane
09548d8992 Fix linux nightly build to use ghc 8.10.3.
With 9.0.1 we can't yet build all dependencies.
2021-03-06 12:47:42 -08:00
John MacFarlane
651b241533 Avoid split-sections for Windows rc.
We get an error "too many sections."

Maybe a bug in stack?
https://stackoverflow.com/questions/64287505/ld-too-many-sections-90295
2021-03-02 10:01:52 -08:00
John MacFarlane
26c496d936 Use -split-sections in creating release binary.
This is supposed to reduce executable size.
2021-03-01 10:06:10 -08:00
John MacFarlane
5537802dc9 Fix CI for older cabal versions.
We add fields to matrix.versions to handle the cabal
command prefix (v2-, new-, nothing) and whether `--test-option`
is supported.
2021-02-28 18:33:04 -08:00
John MacFarlane
dd56822006 CI: don't use --test-option with older cabal versions (< 3). 2021-02-28 16:01:38 -08:00
John MacFarlane
c072b7cb59 CI: hide successes in linux test output. 2021-02-26 18:02:22 -08:00
John MacFarlane
938f402dec CI: Add 'benchmark' to benchmark cache key.
For benchmark we build with optimizations, so the regular
cache is useless.
2021-02-22 23:24:13 -08:00
John MacFarlane
21d0b4745b benchmark CI improvements.
- don't build tests, just benchmarks.
- get allocation info.
2021-02-22 22:09:32 -08:00
John MacFarlane
15bf01cd63 Rename benchmark in CI. 2021-02-22 21:38:58 -08:00
John MacFarlane
56a6478a40 Add linux benchmark to CI. 2021-02-22 21:36:31 -08:00
John MacFarlane
b63d579ba2 CI: use haskell/actions/setup.
actions/haskell-setup is no longer maintained.
2021-02-06 19:00:00 -08:00
Albert Krewinkel
51c3c93f0f
CI: use cabal 2.2 when building with GHC 8.0.2. (#7085) 2021-02-06 18:09:05 -08:00
John MacFarlane
757dbc637b Improve check target to test data/ too. 2020-12-18 12:05:24 -08:00
John MacFarlane
5d09870b9a Remove checkdocs from lint ci. 2020-12-18 11:07:47 -08:00
John MacFarlane
2bcb063df8 Move sanity checks to lint ci. 2020-12-18 09:55:34 -08:00
John MacFarlane
b7d7c45562 Add sanity checks to all CI targets. 2020-12-18 09:48:47 -08:00
John MacFarlane
a45fb0ac38 Add sanity checks to ci. 2020-12-18 09:25:02 -08:00
Albert Krewinkel
d286242131 JATS writer: support advanced table features 2020-11-19 22:09:52 +01:00
Albert Krewinkel
56f607b50b
CI: validate JATS table output 2020-11-18 18:10:11 +01:00
John MacFarlane
57102d6ac4 CI: remove setup-haskell for windows.
It is no longer necessary, because ghc, cabal, and stack are
pre-installed.
2020-11-16 21:06:25 -08:00
John MacFarlane
3e7076c85b Update setup-haskell version. 2020-11-16 18:25:56 -08:00
Albert Krewinkel
527346cc7e
Lint code in PRs and when committing to master (#6790)
* Remove unused LANGUAGE pragmata

* Apply HLint suggestions

* Configure HLint to ignore some warnings

* Lint code when committing to master
2020-11-07 10:38:03 -08:00
Albert Krewinkel
b0a072537b
CI: improve JATS format validator workflow 2020-10-31 22:59:35 +01:00
Albert Krewinkel
07e434850d
CI: validate JATS old-style writer test output 2020-10-31 15:20:30 +01:00
John MacFarlane
5a54595ae0 Use ghc 8.8.4 for CI build on macOS, because it is pre-installed. 2020-10-08 09:12:29 -07:00
John MacFarlane
d4707ee8bd Run nightly one hour later. 2020-10-05 23:59:17 -07:00
John MacFarlane
10b5abb9a0 Try to fix Windows CI by installing happy first.
We're having the build fail with

```
windows\ghc-8.6.5\mingw\bin\strip.exe: unable to rename 'C:\sr\snapshots\c886f694\bin\happy.exe'; reason: File exists
```
2020-10-04 08:33:16 -07:00
John MacFarlane
99f8923f20 Revert stack->cabal change in nightly.yml. 2020-09-23 09:30:14 -07:00
John MacFarlane
ea7fea58a9 release-candidate build: use latest stack on the runner.
instead of installing from choco.

Remove obsolete macos and win i386 sections.
2020-09-22 09:47:44 -07:00
John MacFarlane
e2e6dbc3a6 Nightly process improvements.
- Use cabal for windows.
- Use most recent cabal/ghc.
- Udd sha1 to executable name.
2020-09-22 09:41:40 -07:00
John MacFarlane
5f33df322c CI: use checkout@v2, and use haskell-setup to install stack. 2020-09-22 09:13:48 -07:00
John MacFarlane
e0984a43a9 Add built-in citation support using new citeproc library.
This deprecates the use of the external pandoc-citeproc
filter; citation processing is now built in to pandoc.

* Add dependency on citeproc library.
* Add Text.Pandoc.Citeproc module (and some associated unexported
  modules under Text.Pandoc.Citeproc).  Exports `processCitations`.
  [API change]
* Add data files needed for Text.Pandoc.Citeproc:  default.csl
  in the data directory, and a citeproc directory that is just
  used at compile-time.  Note that we've added file-embed as a mandatory
  rather than a conditional depedency, because of the biblatex
  localization files. We might eventually want to use readDataFile
  for this, but it would take some code reorganization.
* Text.Pandoc.Loging: Add `CiteprocWarning` to `LogMessage` and use it
  in `processCitations`. [API change]
* Add tests from the pandoc-citeproc package as command tests (including
  some tests pandoc-citeproc did not pass).
* Remove instructions for building pandoc-citeproc from CI and
  release binary build instructions.  We will no longer distribute
  pandoc-citeproc.
* Markdown reader: tweak abbreviation support.  Don't insert a
  nonbreaking space after a potential abbreviation if it comes right before
  a note or citation.  This messes up several things, including citeproc's
  moving of note citations.
* Add `csljson` as and input and output format. This allows pandoc
  to convert between `csljson` and other bibliography formats,
  and to generate formatted versions of CSL JSON bibliographies.
* Add module Text.Pandoc.Writers.CslJson, exporting `writeCslJson`. [API
  change]
* Add module Text.Pandoc.Readers.CslJson, exporting `readCslJson`. [API
  change]
* Added `bibtex`, `biblatex` as input formats.  This allows pandoc
  to convert between BibLaTeX and BibTeX and other bibliography formats,
  and to generated formatted versions of BibTeX/BibLaTeX bibliographies.
* Add module Text.Pandoc.Readers.BibTeX, exporting `readBibTeX` and
  `readBibLaTeX`. [API change]
* Make "standalone" implicit if output format is a bibliography format.
  This is needed because pandoc readers for bibliography formats put
  the bibliographic information in the `references` field of metadata;
  and unless standalone is specified, metadata gets ignored.
  (TODO: This needs improvement. We should trigger standalone for the
  reader when the input format is bibliographic, and for the writer
  when the output format is markdown.)
* Carry over `citationNoteNum` to `citationNoteNumber`.  This was just
  ignored in pandoc-citeproc.
* Text.Pandoc.Filter: Add `CiteprocFilter` constructor to Filter.
  [API change] This runs the processCitations transformation.
  We need to treat it like a filter so it can be placed
  in the sequence of filter runs (after some, before others).
  In FromYAML, this is parsed from `citeproc` or `{type: citeproc}`,
  so this special filter may be specified either way in a defaults file
  (or by `citeproc: true`, though this gives no control of positioning
  relative to other filters).  TODO: we need to add something to the
  manual section on defaults files for this.
* Add deprecation warning if `upandoc-citeproc` filter is used.
* Add `--citeproc/-C` option to trigger citation processing.
  This behaves like a filter and will be positioned
  relative to filters as they appear on the command line.
* Rewrote the manual on citatations, adding a dedicated Citations
  section which also includes some information formerly found in
  the pandoc-citeproc man page.
* Look for CSL styles in the `csl` subdirectory of the pandoc user data
  directory.  This changes the old pandoc-citeproc behavior, which looked
  in `~/.csl`.  Users can simply symlink `~/.csl` to the `csl`
  subdirectory of their pandoc user data directory if they want
  the old behavior.
* Add support for CSL bibliography entry formatting to LaTeX, HTML,
  Ms writers.  Added CSL-related CSS to styles.html.
2020-09-21 10:15:50 -07:00
Albert Krewinkel
b2decdfd13
CI: bump tested GHC versions to 8.8.4 and 8.10.2
Besides being newer, GHC version 8.10.2 comes preinstalled on GitHub
Actions environments; using it slightly speeds up CI tests.
2020-09-20 22:57:51 +02:00
Albert Krewinkel
4b459b49ea
CI: remove duplicate build step on macOS 2020-09-20 22:57:39 +02:00
John MacFarlane
c2f1fadb2c CI: use cabal for macos builds. 2020-09-10 09:44:12 -07:00
John MacFarlane
0985e38977 CI/macOS: Fix stack invocations. 2020-09-03 09:46:59 -07:00
John MacFarlane
60910d5278 CI/macOs: Use setup-haskell to setup stack. 2020-09-03 09:42:28 -07:00
John MacFarlane
8369eb67d7 release-candidate: don't build windows i386.
So far we haven't been able to figure out how to get
stack to use a 32-bit ghc.
2020-08-28 14:42:00 -07:00
John MacFarlane
8d8f98fb7b Remove macos build from GitHub actions rc. 2020-08-27 18:10:21 -07:00
John MacFarlane
c22b12100d Actions CI: Try cache@v2. 2020-08-15 11:49:56 -07:00
John MacFarlane
c990027832 Linux rc build: use ghc-musl container.
This simplifies our build process a bit (over using
a customized alpine container).

Use new `--enable-executable-static` flag in build.

make_artifacts.sh: Fix deprecated find -perm syntax.
2020-08-11 21:33:21 -07:00
John MacFarlane
4e88ce682d Restore testing with ghc 8.0.2. 2020-07-23 21:36:06 -07:00
John MacFarlane
8677aa92fc release-candidate: pin upload-artifact to specific version. 2020-07-23 21:32:17 -07:00
John MacFarlane
c2cc4a0504 CI: Drop testing on ghc 8.0.2. 2020-07-19 22:51:59 -07:00
Nikolay Yakimov
f52337ccdc [CI] Use setup-haskell action 2020-07-13 19:49:36 +03:00
John MacFarlane
3397347612 rc action: use older stack that supports i386 for Windows i386 build. 2020-06-29 15:15:21 -07:00
Albert Krewinkel
97ad96437c
CI: fix typo in GitHub CI workflow config
Switch `ignore-paths` with `paths-ignore`.
2020-06-23 15:36:46 +02:00
Albert Krewinkel
b907d25fe4
CI: use GitHub workflow command to set system path
This way, the PATH environment variable does not have to be set
repeatedly in each step.
2020-06-20 09:12:51 +02:00