7d7784d140
Remove build artifacts from normal builds (libs and executables). These were never meant to be provided but forgotten to remove after tests. Try to build fltk.pdf (may be removed later) Store fltk.pdf in 'public' folder to be available online in docs and downloadable as "artifact"
96 lines
2.4 KiB
YAML
96 lines
2.4 KiB
YAML
# This file controls GitLab CI (Continuous Integration) for FLTK.
|
|
#
|
|
# It serves two purposes:
|
|
#
|
|
# (1) Continuously building FLTK with one or more build systems.
|
|
# (2) Generating current HTML documentation and putting it online.
|
|
#
|
|
# The documentation will be viewable 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
|
|
- deploy
|
|
|
|
# Build with autoconf/make (including Pango and Cairo)
|
|
|
|
# Disabled for regular builds after commits to save build time: "only schedules"
|
|
# Note: Build time limits on "GitLab Free" effective Oct 2020: 400 minutes per month
|
|
|
|
build-autotools:
|
|
stage: build
|
|
only:
|
|
- schedules
|
|
# install the necessary build tools
|
|
before_script:
|
|
- apt update && apt -y install make autoconf man
|
|
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev libglew-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
|
|
|
|
# Build with CMake and Ninja (with pango, cairo, building examples)
|
|
|
|
build-cmake:
|
|
stage: build
|
|
only:
|
|
- master
|
|
# install the necessary build tools
|
|
before_script:
|
|
- date
|
|
- apt update && apt -y install cmake ninja-build
|
|
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev libglew-dev
|
|
- apt -y install libxcursor-dev libxinerama-dev libasound2-dev
|
|
- apt -y install libpango1.0-dev libcairo2-dev
|
|
script:
|
|
- date
|
|
- gcc --version
|
|
- mkdir build && cd build
|
|
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DFLTK_BUILD_EXAMPLES=ON -DOPTION_USE_PANGO=ON -DOPTION_CAIRO=ON ..
|
|
- date
|
|
- time ninja
|
|
- date
|
|
|
|
# Generate and install HTML documentation
|
|
|
|
pages:
|
|
stage: deploy
|
|
only:
|
|
- master
|
|
# run this job (documentation) independent of the build jobs (empty "needs" clause)
|
|
needs: []
|
|
# install the necessary build tools
|
|
before_script:
|
|
- date
|
|
- apt update && apt -y install make autoconf man doxygen doxygen-latex
|
|
script:
|
|
- date
|
|
- make clean
|
|
- cd documentation
|
|
- date
|
|
- make && make html
|
|
- date
|
|
- make pdf
|
|
- date
|
|
- cd ..
|
|
- mkdir -p public/
|
|
- mv documentation/html/* public/
|
|
- mv documentation/fltk.pdf public/
|
|
- date
|
|
artifacts:
|
|
paths:
|
|
- public
|