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
|