File: .gitlab-ci.yml

package info (click to toggle)
sfcgal 2.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 15,084 kB
  • sloc: cpp: 37,122; sh: 141; makefile: 33; python: 22
file content (89 lines) | stat: -rw-r--r-- 2,052 bytes parent folder | download
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
stages:
  - .pre
  - lint
  - build
  - test
  - deploy
  - .post

variables:
  CGAL_LATEST_VERSION: "6.0"
  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 ------------
pages:
  stage: deploy
  only:
    refs:
      - master
  needs:
    - job: build:documentation
      artifacts: true
  variables:
    GIT_STRATEGY: none
  script:
    - mkdir -p public
    - cp -rf website/site/* public/
  artifacts:
    paths:
      - public