Reduce GitLab CI/CD build time due to new limits

GitLab Free account CI/CD limits effective Oct 1, 2020 will be
400 minutes per month. Trying to keep build time below the limit.
This commit is contained in:
Albrecht Schlosser 2020-09-07 12:09:55 +02:00
parent c57eeada70
commit 0696bbe422

View File

@ -9,9 +9,8 @@
# #
# https://fltk.gitlab.io/<repository>/ # https://fltk.gitlab.io/<repository>/
# #
# <repository> can be one of: # <repository> can be:
# - fltk # - fltk
# - fltk-test
# #
# Details of this script: # Details of this script:
# #
@ -23,13 +22,17 @@ image: gcc
stages: stages:
- build - build
- test
- deploy - deploy
# Build with autoconf/make (including Pango and Cairo) # 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: build-autotools:
stage: build stage: build
only:
- schedules
# install the necessary build tools # install the necessary build tools
before_script: before_script:
- apt update && apt -y install make autoconf man - apt update && apt -y install make autoconf man
@ -49,7 +52,7 @@ build-autotools:
- test/unittests - test/unittests
- test/fltk-versions - test/fltk-versions
# Build with CMake and Ninja (default configuration) # Build with CMake and Ninja (with pango, cairo, building examples)
build-cmake: build-cmake:
stage: build stage: build
@ -58,46 +61,16 @@ build-cmake:
- apt update && apt -y install cmake ninja-build - apt update && apt -y install cmake ninja-build
- apt -y install freeglut3-dev libfontconfig-dev libxft-dev libglew-dev - apt -y install freeglut3-dev libfontconfig-dev libxft-dev libglew-dev
- apt -y install libxcursor-dev libxinerama-dev libasound2-dev - apt -y install libxcursor-dev libxinerama-dev libasound2-dev
- apt -y install libpango1.0-dev libcairo2-dev
script: script:
- mkdir build && cd build - mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=Debug -DFLTK_BUILD_EXAMPLES=ON -G Ninja .. - cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DFLTK_BUILD_EXAMPLES=ON -DOPTION_USE_PANGO=ON -DOPTION_CAIRO=ON ..
- time ninja - time ninja
artifacts: artifacts:
paths: paths:
- build/lib/ - build/lib/
- build/bin/ - 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
- doxygen --version
- 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 # Generate and install HTML documentation
pages: pages: