Activate GitLab CI and GitLab Pages (HTML docs).
The GitLab CI control file enables continuous builds after every commit and generates the (doxygen) HTML documentation. The documentation is put online on GitLab pages at: https://fltk.gitlab.io/fltk/ git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
aafcaaef7d
commit
1690585b49
112
.gitlab-ci.yml
Normal file
112
.gitlab-ci.yml
Normal file
@ -0,0 +1,112 @@
|
||||
# This file controls GitLab CI (Continuous Integration) for FLTK.
|
||||
#
|
||||
# It serves two purposes:
|
||||
#
|
||||
# (1) Continuously building FLTK with several build systems.
|
||||
# (2) Generating current HTML documentation and putting it online.
|
||||
#
|
||||
# The documentation will be at:
|
||||
#
|
||||
# https://fltk.gitlab.io/fltk/
|
||||
#
|
||||
# Details of this script:
|
||||
#
|
||||
# use the official gcc image, based on debian
|
||||
# can use versions as well, like gcc:5.2
|
||||
# see https://hub.docker.com/_/gcc/
|
||||
|
||||
image: gcc
|
||||
|
||||
stages:
|
||||
- build
|
||||
- test
|
||||
- deploy
|
||||
|
||||
# Build with autoconf/make (including Pango and Cairo)
|
||||
|
||||
build-autotools:
|
||||
stage: build
|
||||
# install the necessary build tools
|
||||
before_script:
|
||||
- apt update && apt -y install make autoconf man
|
||||
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev
|
||||
- apt -y install libxcursor-dev libxinerama-dev libasound2-dev
|
||||
- apt -y install libpango1.0-dev libcairo2-dev
|
||||
script:
|
||||
- make clean
|
||||
- ./configure --enable-pango --enable-cairo
|
||||
- time make -j3
|
||||
- cd examples && time make
|
||||
artifacts:
|
||||
paths:
|
||||
- lib/
|
||||
- test/cairo_test
|
||||
- test/glpuzzle
|
||||
- test/unittests
|
||||
- examples/fltk-versions
|
||||
|
||||
# Build with CMake and Ninja (Default configuration)
|
||||
|
||||
build-cmake:
|
||||
stage: build
|
||||
# install the necessary build tools
|
||||
before_script:
|
||||
- apt update && apt -y install cmake ninja-build
|
||||
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev
|
||||
- apt -y install libxcursor-dev libxinerama-dev libasound2-dev
|
||||
script:
|
||||
- mkdir build && cd build
|
||||
- cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ..
|
||||
- time ninja
|
||||
artifacts:
|
||||
paths:
|
||||
- build/lib/
|
||||
- build/bin/
|
||||
|
||||
# Build HTML documentation
|
||||
|
||||
documentation:
|
||||
stage: build
|
||||
only:
|
||||
- schedules
|
||||
# install the necessary build tools
|
||||
before_script:
|
||||
- apt update && apt -y install make autoconf man doxygen
|
||||
script:
|
||||
- make clean
|
||||
- cd documentation && make && make html
|
||||
artifacts:
|
||||
paths:
|
||||
- documentation/src/*.[1-6]
|
||||
- documentation/html
|
||||
|
||||
# depending on your build setup it's most likely a good idea to
|
||||
# cache outputs to reduce the build time
|
||||
# cache:
|
||||
# paths:
|
||||
# - "*.o"
|
||||
|
||||
# run tests using the binary built before
|
||||
#test:
|
||||
# stage: test
|
||||
# script:
|
||||
# - ./runmytests.sh
|
||||
|
||||
|
||||
# Generate and install HTML documentation
|
||||
|
||||
pages:
|
||||
stage: deploy
|
||||
# install the necessary build tools
|
||||
before_script:
|
||||
- apt update && apt -y install make autoconf man doxygen
|
||||
script:
|
||||
- make clean
|
||||
- cd documentation
|
||||
- make && make html
|
||||
- cd ..
|
||||
- mkdir -p public/
|
||||
- mv documentation/html/* public/
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
7
public/README.md
Normal file
7
public/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Public Documentation Directory
|
||||
|
||||
File: public/README.md
|
||||
|
||||
You should never see this file unless explicitly requested by URL.
|
||||
|
||||
This is a placeholder for GitLab Pages.
|
Loading…
Reference in New Issue
Block a user