aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/test.yml
blob: faf7b6287460fd9bf117f40fd3c82a91098fdda2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
name: CI

on:
  push:
    branches:
      - master
      - hybrid
  pull_request:
    branches:
      - '**'

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        emacs_version:
          - 24.3
          - 24.4
          - 24.5
          - 25.1
          - 25.2
          - 25.3
          - 26.1
          - 26.2
          - 26.3
      # at most 20 concurrent jobs per free account
      # cf. https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#usage-limit
      max-parallel: 4

    steps:
    - uses: actions/checkout@v2

    - uses: purcell/setup-emacs@master
      with:
        version: ${{ matrix.emacs_version }}

    - run: emacs --version
    - run: make

  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        # emacs_version:
          # the emacs version in Ubuntu 18.04 LTS
          # - 25.2
          # the emacs version in Debian Buster
          # - 26.1
          # the emacs version in Debian Sid
          # - 26.3
        coq_version:
          - 8.11
        ocaml_version:
          - minimal
      # at most 20 concurrent jobs per free account
      # cf. https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#usage-limit
      max-parallel: 6

    steps:
    - uses: actions/checkout@v2

    - uses: erikmd/docker-coq-action@master
      id: docker-coq-action
      with:
        opam_file: 'dummy.opam'
        coq_version: ${{ matrix.coq_version }}
        ocaml_version: ${{ matrix.ocaml_version }}
        custom_script: |
          startGroup Print opam config
            opam config list; opam repo list; opam list
          endGroup
          startGroup Install emacs
            sudo apt-get update -y -q
            sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends emacs
          endGroup
          startGroup Run tests
            ./ci/test.sh
          endGroup