-
Notifications
You must be signed in to change notification settings - Fork 23
/
.ci.yml
51 lines (47 loc) · 1.59 KB
/
.ci.yml
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
image: debian:trixie
.build_setup: &setup_env
before_script:
- export DEBIAN_FRONTEND=noninteractive
- apt --allow-releaseinfo-change update && apt install -y --no-install-recommends git build-essential make python3 python3-pip python3-venv
- apt install -y --no-install-recommends apt-transport-https curl gnupg graphicsmagick-imagemagick-compat openjdk-17-jdk openjdk-17-jre
- echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | tee /etc/apt/sources.list.d/sbt.list
- echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | tee /etc/apt/sources.list.d/sbt_old.list
- curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add
- apt update && apt install -y sbt
- git submodule update --init --recursive
- python3 -m venv .venv
- .venv/bin/python3 -m pip install -r docs/requirements.txt
build-and-test:
<<: *setup_env
stage: build
script:
- make testall
- mkdir out/
- mv out*.png out/
artifacts:
paths:
- out/
build-docs:
<<: *setup_env
stage: build
script:
- source .venv/bin/activate
- SPHINXOPTS="-A conf_py_path=$DOCS_DIR/$SOURCEDIR/ -A commit=$CI_BUILD_REF -A branch=$CI_BUILD_REF_NAME" make html
- make linkcheck
- cp docs/*.png build/html
- tar cf $CI_DOCS_ARCHIVE -C build/html/ .
artifacts:
paths:
- build
- $CI_DOCS_ARCHIVE
deploy-docs:
variables:
GIT_STRATEGY: none
dependencies:
- build-docs
stage: deploy
tags: ["docs"]
script: echo 'Deploying docs'
artifacts:
paths:
- $CI_DOCS_ARCHIVE