-
Notifications
You must be signed in to change notification settings - Fork 1
135 lines (117 loc) · 3.5 KB
/
CI.yml
File metadata and controls
135 lines (117 loc) · 3.5 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
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: CI
on:
workflow_dispatch:
repository_dispatch:
types: [auto-pr-created]
push:
branches:
- main
tags: '*'
pull_request:
concurrency:
# Group runs by the workflow name and the branch or tag name
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
reuse-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Run REUSE lint
run: docker run --rm --volume ${{ github.workspace }}:/data fsfe/reuse lint
test-with-code-coverage:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
version:
- '1.12'
os:
- ubuntu-latest
- windows-latest
- macOS-latest
arch:
- x64
exclude:
- os: macOS-latest
arch: x64
include:
- os: ubuntu-latest
version: '1.11'
arch: x64
prefix: xvfb-run -a
- os: ubuntu-latest
version: '1.12'
arch: x64
prefix: xvfb-run -a
- os: macOS-latest
version: '1.12'
arch: aarch64
steps:
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- name: Install display dependencies for GLMakie
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y xvfb libgl1-mesa-dri
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
with:
prefix: ${{ matrix.prefix }}
- name: Upload PNG plots as artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: test-plots-${{ matrix.os }}-julia${{ matrix.version }}-${{ matrix.arch }}
path: data/*.png
if-no-files-found: ignore
retention-days: 7
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: lcov.info
continue-on-error: true
docs:
name: Documentation
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- name: Install display dependencies for GLMakie
run: |
sudo apt-get update
sudo apt-get install -y xvfb libgl1-mesa-dri
- name: Instantiate docs project
run: |
julia --project=docs -e '
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
Pkg.instantiate()'
- name: Generate figures
run: >
xvfb-run -a
julia --project=docs docs/generate_figures.jl
- uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
- name: Run doctests
run: |
julia --project=docs -e '
using Documenter: DocMeta, doctest
using KiteUtils
DocMeta.setdocmeta!(KiteUtils, :DocTestSetup, :(using KiteUtils); recursive=true)
doctest(KiteUtils)'