build docs:
  stage: build
  image:
    name: $CONTAINER_GCC_IMAGE
  extends:
    - .defaults

  before_script:
    # HACK to easier linking to the generated pages
    - echo '<meta http-equiv="REFRESH" content="0;URL=build/docs/index.html">' >> Doxygen.html
    - mkdir -p build
    - cd build

  script:
    - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DOGS_USE_CONAN=OFF -DOGS_BUILD_PROCESSES=GroundwaterFlow
    - cmake --build . --target doc > >(tee make-docs.output)

  artifacts:
    expose_as: 'Doxygen'
    paths:
      - Doxygen.html
      - build/docs/
    expire_in: 1 week

check docs links:
  stage: checks
  image:
    name: $WEB_IMAGE
  needs:
    - job: build docs
  extends:
      - .rules-master-manual
  script:
    - cd build
    - >
      urlchecker check --retry-count 5 --file-types .html
      --white-listed-patterns \&lt\;,\&quot,www.w3.org,www.doxygen.org,cdnjs.cloudflare.com,docs.opengeosys.org/docs/tools
      --white-listed-urls http://www.opengeosys.org/project/license,http://www.opengeosys.org,http://www.opengeosys.org\&quot,http://www.trolltech.com/products/qt/licensing.html,http://www.trolltech.com/products/qt/opensource.html
      --white-listed-files project_file_doc_qa.html,ogs_file_
      docs
