File: workflow.yml

package info (click to toggle)
psmt2-frontend 0.4.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 452 kB
  • sloc: ml: 2,464; python: 60; makefile: 48
file content (101 lines) | stat: -rw-r--r-- 2,265 bytes parent folder | download | duplicates (2)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101

name: Main Workflow

env:
  OPAMYES: true
  OPAMSOLVERTIMEOUT: 300

on:
  pull_request:
    branches:
      - main
      - next
  push:
    branches:
      - main
      - next

jobs:
  build_dune_ocaml_versions:
    name: Build with dune on different ocaml versions
    strategy:
      matrix:
        os:
          - ubuntu-latest
        ocaml-version:
          - 4.04.2
          - 4.05.0
          - 4.10.0

    runs-on: ${{ matrix.os }}

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Retrieve opam cache
        uses: actions/cache@v2
        id: cache-opam
        with:
          path: ~/.opam
          key: v1-${{ runner.os }}-psmt2-frontend-dune-${{ matrix.ocaml-version }}-${{ hashFiles('*.opam') }}

      - name: Use OCaml ${{ matrix.ocaml-version }}
        uses: avsm/setup-ocaml@v1
        with:
          ocaml-version: ${{ matrix.ocaml-version }}

      - run: opam pin add . --no-action

      - run: opam depext psmt2-frontend_bin psmt2-frontend

      - run: opam install ./*.opam --deps-only --with-test

      - run: opam exec -- dune build @install

      - name: run test suite
        run: opam exec -- dune build @runtest

      - name: test source is well formatted
        run: opam exec -- dune build @fmt
        continue-on-error: true
        if: matrix.ocaml-version == '4.10.0'


  build_opam_os:
    name: Build with opam on different OS

    strategy:
      matrix:
        os:
          - macos-latest
          - ubuntu-latest
          - windows-latest
        ocaml-version:
          - 4.10.0

    runs-on: ${{ matrix.os }}

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Retrieve opam cache
        uses: actions/cache@v2
        id: cache-opam
        with:
          path: ~/.opam
          key: v1-${{ runner.os }}-psmt2-frontend-opam-${{ matrix.ocaml-version }}-${{ hashFiles('*.opam') }}

      - name: Use OCaml ${{ matrix.ocaml-version }}
        uses: avsm/setup-ocaml@v1
        with:
          ocaml-version: ${{ matrix.ocaml-version }}

      - run: opam pin add . --no-action

      - run: opam depext psmt2-frontend_bin psmt2-frontend

      - run: opam install ./*.opam --deps-only --with-test

      - run: opam install .