-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
94 lines (85 loc) · 2.12 KB
/
.gitlab-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
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
stages:
- .pre
- lint
- build
- test
- deploy
- .post
variables:
CGAL_LATEST_VERSION: "6.0.1"
SONAR_CGAL_VERSION: ${CGAL_LATEST_VERSION}
DOCKER_CGAL_VERSION: ${CGAL_LATEST_VERSION}
PYTHON_DOCKER_IMAGE: python:3.12-slim-bookworm
# After ccache ci
# coverage:
# image: debian:testing
# script:
# - apt-get update -qq
# - apt-get install --yes sudo wget build-essential gcovr
# - ./ci/debian/before_install.sh 5.6
# - cd $CI_PROJECT_DIR
# - CGAL_DIR=$CI_PROJECT_DIR/CGAL cmake -DSFCGAL_COVERAGE=ON -DSFCGAL_BUILD_TESTS=ON -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
# - make
# - make sfcgal_coverage
# coverage: '/^\s*lines:\s*\d+.\d+\%/'
# artifacts:
# name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
# expire_in: 2 days
# reports:
# cobertura: sfcgal_coverage.xml
include:
- template: Security/SAST.gitlab-ci.yml
# - local: /.gitlab/pipeline/sonar.yml
- local: /.gitlab/pipeline/lint-code.yml
- local: /.gitlab/pipeline/test-code.yml
- local: /.gitlab/pipeline/build-windows.yml
- local: /.gitlab/pipeline/build-debian-docker.yml
sast:
stage: test
build:documentation:
stage: build
image: ${PYTHON_DOCKER_IMAGE}
only:
refs:
- master
changes:
- "src/*.h"
- "src/*.cpp"
- "website/docs/*.md"
- ".gitlab-ci.yml"
before_script:
- apt-get update -qq
- apt-get install -y doxygen
- python -m pip install -U pip
- python -m pip install -U -r requirements/website.txt
script:
- export PYTHONPATH=$(pwd)
- cd website && mkdocs build --verbose
artifacts:
name: documentation
expose_as: "built_documentation"
paths:
- website/site
when: always
# -- DEPLOYMENT JOBS ------------
deploy:pages:
stage: deploy
only:
refs:
- master
changes:
- "src/*.h"
- "src/*.cpp"
- "website/docs/*.md"
- ".gitlab-ci.yml"
needs:
- job: build:documentation
artifacts: true
variables:
GIT_STRATEGY: none
script:
- mkdir -p public
- cp -rf website/site/* public/
artifacts:
paths:
- public