Repository navigation
48 lines (48 loc) · 1.86 KB
/
Copy pathCI.yml
File metadata and controls
48 lines (48 loc) · 1.86 KB
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
# SPDX-License-Identifier: MPL-2.0
name: CI
permissions:
contents: read
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
julia-version: ['1.10', '1.11', 'nightly']
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4
# AGENTS.adoc "CI & Solver Detection": install at least one solver and
# keep it on PATH so solver-backed tests run instead of skipping. Ubuntu
# legs get Z3; other legs keep the documented graceful-skip behaviour
# (#62). `z3 --version` is the positive execution sentinel.
- name: Install Z3 (ubuntu)
if: runner.os == 'Linux'
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install -y z3
z3 --version
- name: Setup Julia
uses: julia-actions/setup-julia@fa02766e078afaaf09b14210362cee14137e6a32 # v3.0.2
with:
version: ${{ matrix.julia-version }}
- name: Cache Julia artifacts
uses: julia-actions/cache@9353db09a0f2bbbdec6f41791918c75d37391b36 # v3.5.0
# AcceleratorGate is registered in the hyperpolymath registry, not in
# General. The registry is added to the depot that the test step reuses.
- name: Build package
uses: julia-actions/julia-buildpkg@e3eb439fad4f9aba7da2667e7510e4a46ebc46e1 # v1.7.0
with:
localregistry: https://github.com/hyperpolymath/julia-professional-registry
- name: Run tests
uses: julia-actions/julia-runtest@6e050c8013b833b1195105ff2fce9cd802f53271 # v1.12.0
- name: Process coverage
uses: julia-actions/julia-processcoverage@03114f09f119417c3242a9fb6e0b722676aedf38 # v1.2.2