Files
unison/utils/tests/gitlab-ci-ubuntu.yml
2023-05-16 22:58:51 +00:00

255 lines
5.8 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NS3 CI script for ubuntu
# Any scheduled pipeline for Ubuntu should define a variable, named
# "RELEASE", that has a value "weekly". Also, the variable "UBUNTU" should be
# set to True.
# Please take a look at .gitlab-ci.yml to check the dependencies of Ubuntu jobs.
# Ubuntu base
.weekly-base-ubuntu:
extends: .base-build
rules:
- if: $RELEASE == "weekly"
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
allow_failure: true
before_script:
# The following ppa is needed only for Ubuntu 18.04 to install g++9
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -y software-properties-common
- add-apt-repository ppa:ubuntu-toolchain-r/test -y
- apt update
- apt upgrade -y
- DEBIAN_FRONTEND=noninteractive apt install -y
$COMPILER cmake ninja-build ccache
python3 python3-dev
gsl-bin libgsl-dev $LIBGSL
libboost-all-dev
libgtk-3-dev
libfl-dev
libxml2 libxml2-dev
libopenmpi-dev openmpi-bin openmpi-common openmpi-doc
libsqlite3-dev sqlite3
libeigen3-dev
qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
ssh
weekly-ubuntu:
rules:
- if: $RELEASE == "weekly"
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
when: manual
allow_failure: true
stage: pre-build
script:
- echo "Starting Ubuntu jobs"
# Ubuntu 18.04 (Until April 2023)
weekly-build-ubuntu-18.04-debug:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:18.04
stage: build
variables:
MODE: debug
LIBGSL: libgsl23
COMPILER: g++-9
weekly-build-ubuntu-18.04-default:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:18.04
stage: build
variables:
MODE: default
LIBGSL: libgsl23
COMPILER: g++-9
weekly-build-ubuntu-18.04-optimized:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:18.04
stage: build
variables:
MODE: optimized
LIBGSL: libgsl23
COMPILER: g++-9
weekly-test-ubuntu-18.04-default:
extends: .weekly-base-ubuntu
image: ubuntu:18.04
stage: test
needs: ["weekly-build-ubuntu-18.04-default"]
dependencies:
- weekly-build-ubuntu-18.04-default
variables:
MODE: default
LIBGSL: libgsl23
COMPILER: g++-9
weekly-test-ubuntu-18.04-optimized:
extends: .weekly-base-ubuntu
image: ubuntu:18.04
stage: test
needs: ["weekly-build-ubuntu-18.04-optimized"]
dependencies:
- weekly-build-ubuntu-18.04-optimized
variables:
MODE: optimized
LIBGSL: libgsl23
COMPILER: g++-9
# # Ubuntu 20.04 (Until April 2025)
# weekly-build-ubuntu-20.04-debug:
# extends: .weekly-base-ubuntu
# image: ubuntu:20.04
# variables:
# MODE: debug
# LIBGSL: libgsl23
# weekly-build-ubuntu-20.04-default:
# extends: .weekly-base-ubuntu
# image: ubuntu:20.04
# variables:
# MODE: default
# LIBGSL: libgsl23
# weekly-build-ubuntu-20.04-optimized:
# extends: .weekly-base-ubuntu
# image: ubuntu:20.04
# variables:
# MODE: optimized
# LIBGSL: libgsl23
# Ubuntu 22.04 (Until January 2032)
weekly-build-ubuntu-22.04-debug:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:22.04
stage: build
variables:
MODE: debug
LIBGSL: libgsl27
COMPILER: g++
weekly-build-ubuntu-22.04-default:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:22.04
stage: build
variables:
MODE: default
LIBGSL: libgsl27
COMPILER: g++
weekly-build-ubuntu-22.04-optimized:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:22.04
stage: build
variables:
MODE: optimized
LIBGSL: libgsl27
COMPILER: g++
weekly-test-ubuntu-22.04-default:
extends: .weekly-base-ubuntu
image: ubuntu:22.04
stage: test
needs: ["weekly-build-ubuntu-22.04-default"]
dependencies:
- weekly-build-ubuntu-22.04-default
variables:
MODE: default
LIBGSL: libgsl27
COMPILER: g++
weekly-test-ubuntu-22.04-optimized:
extends: .weekly-base-ubuntu
image: ubuntu:22.04
stage: test
needs: ["weekly-build-ubuntu-22.04-optimized"]
dependencies:
- weekly-build-ubuntu-22.04-optimized
variables:
MODE: optimized
LIBGSL: libgsl27
COMPILER: g++
# Ubuntu Latest
weekly-build-ubuntu-latest-debug:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:latest
stage: build
variables:
MODE: debug
LIBGSL: libgsl27
COMPILER: g++
weekly-build-ubuntu-latest-default:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:latest
stage: build
variables:
MODE: default
LIBGSL: libgsl27
COMPILER: g++
weekly-build-ubuntu-latest-optimized:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:latest
stage: build
variables:
MODE: optimized
LIBGSL: libgsl27
COMPILER: g++
weekly-test-ubuntu-latest-default:
extends: .weekly-base-ubuntu
image: ubuntu:latest
stage: test
needs: ["weekly-build-ubuntu-latest-default"]
dependencies:
- weekly-build-ubuntu-latest-default
variables:
MODE: default
LIBGSL: libgsl27
COMPILER: g++
weekly-test-ubuntu-latest-optimized:
extends: .weekly-base-ubuntu
image: ubuntu:latest
stage: test
needs: ["weekly-build-ubuntu-latest-optimized"]
dependencies:
- weekly-build-ubuntu-latest-optimized
variables:
MODE: optimized
LIBGSL: libgsl27
COMPILER: g++
# Ubuntu Rolling
# weekly-build-ubuntu-rolling-debug:
# extends: .weekly-base-ubuntu
# image: ubuntu:rolling
# variables:
# MODE: debug
# LIBGSL: libgsl27
# weekly-build-ubuntu-rolling-default:
# extends: .weekly-base-ubuntu
# image: ubuntu:rolling
# variables:
# MODE: default
# LIBGSL: libgsl27
# weekly-build-ubuntu-rolling-optimized:
# extends: .weekly-base-ubuntu
# image: ubuntu:rolling
# variables:
# MODE: optimized
# LIBGSL: libgsl27