Files
unison/utils/tests/gitlab-ci-fedora.yml
2023-06-11 01:18:11 +02:00

183 lines
4.1 KiB
YAML

# NS3 CI script for fedora
# Any scheduled pipeline for Fedora should define a variable, named
# "RELEASE", that has a value "weekly". Also, a variable "FEDORA" should be set
# to True.
# Please take a look at .gitlab-ci.yml to check the dependencies of Fedora jobs.
# Weekly jobs: Fedora
.weekly-build-fedora:
extends: .base-build
rules:
- if: $RELEASE == "weekly"
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
allow_failure: true
before_script:
- dnf update --assumeyes
- dnf install --assumeyes
gcc-c++ cmake ccache ninja-build
boost-devel
eigen3-devel
gtk3 gtk3-devel
gsl gsl-devel
sqlite sqlite-devel
libxml2 libxml2-devel
openmpi openmpi-devel
goocanvas2-devel
python python-devel
pygobject3-devel python3-gobject gobject-introspection-devel
graphviz-devel graphviz ipython
- source /etc/profile.d/modules.sh
- module load mpi/openmpi-x86_64
variables:
COMPILER: g++
weekly-fedora:
rules:
- if: $RELEASE == "weekly"
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
when: manual
allow_failure: true
stage: pre-build
script:
- echo "Starting Fedora jobs"
# Fedora 36
# weekly-build-fedora-36-debug:
# extends: .weekly-build-fedora
# needs: ["weekly-fedora"]
# image: fedora:36
# stage: build
# variables:
# MODE: debug
# weekly-build-fedora-36-default:
# extends: .weekly-build-fedora
# needs: ["weekly-fedora"]
# image: fedora:36
# stage: build
# variables:
# MODE: default
# weekly-build-fedora-36-optimized:
# extends: .weekly-build-fedora
# needs: ["weekly-fedora"]
# image: fedora:36
# stage: build
# variables:
# MODE: optimized
# Fedora 36 test
# weekly-test-fedora-36-default:
# extends: .weekly-build-fedora
# image: fedora:36
# stage: test
# needs: ["weekly-build-fedora-36-default"]
# dependencies:
# - weekly-build-fedora-36-default
# variables:
# MODE: default
# weekly-test-fedora-36-optimized:
# extends: .weekly-build-fedora
# image: fedora:36
# stage: test
# needs: ["weekly-build-fedora-36-optimized"]
# dependencies:
# - weekly-build-fedora-36-optimized
# variables:
# MODE: optimized
# Fedora 37
weekly-build-fedora-37-debug:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:37
stage: build
variables:
MODE: debug
weekly-build-fedora-37-default:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:37
stage: build
variables:
MODE: default
weekly-build-fedora-37-optimized:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:37
stage: build
variables:
MODE: optimized
# Fedora 37 test
weekly-test-fedora-37-default:
extends: .weekly-build-fedora
image: fedora:37
stage: test
needs: ["weekly-build-fedora-37-default"]
dependencies:
- weekly-build-fedora-37-default
variables:
MODE: default
weekly-test-fedora-37-optimized:
extends: .weekly-build-fedora
image: fedora:37
stage: test
needs: ["weekly-build-fedora-37-optimized"]
dependencies:
- weekly-build-fedora-37-optimized
variables:
MODE: optimized
# Fedora 38
weekly-build-fedora-38-debug:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:38
stage: build
variables:
MODE: debug
weekly-build-fedora-38-default:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:38
stage: build
variables:
MODE: default
weekly-build-fedora-38-optimized:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:38
stage: build
variables:
MODE: optimized
# Fedora 38 test
weekly-test-fedora-38-default:
extends: .weekly-build-fedora
image: fedora:38
stage: test
needs: ["weekly-build-fedora-38-default"]
dependencies:
- weekly-build-fedora-38-default
variables:
MODE: default
weekly-test-fedora-38-optimized:
extends: .weekly-build-fedora
image: fedora:38
stage: test
needs: ["weekly-build-fedora-38-optimized"]
dependencies:
- weekly-build-fedora-38-optimized
variables:
MODE: optimized