138 lines
3.0 KiB
YAML
138 lines
3.0 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 -y
|
|
- dnf install -y
|
|
gcc-c++ cmake ccache ninja-build
|
|
boost-devel
|
|
eigen3-devel
|
|
gtk3 gtk3-devel
|
|
gsl gsl-devel
|
|
sqlite sqlite-devel
|
|
libxml2 libxml2-devel
|
|
mpich mpich-devel openssh
|
|
goocanvas2-devel
|
|
python python-devel
|
|
python3-gobject-devel gobject-introspection-devel
|
|
graphviz-devel graphviz ipython
|
|
git
|
|
- source /etc/profile.d/modules.sh
|
|
- module load mpi/mpich-$(uname -m)
|
|
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 41
|
|
weekly-build-fedora-41-debug:
|
|
extends: .weekly-build-fedora
|
|
needs: ["weekly-fedora"]
|
|
image: fedora:41
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
|
|
weekly-build-fedora-41-default:
|
|
extends: .weekly-build-fedora
|
|
needs: ["weekly-fedora"]
|
|
image: fedora:41
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
|
|
weekly-build-fedora-41-optimized:
|
|
extends: .weekly-build-fedora
|
|
needs: ["weekly-fedora"]
|
|
image: fedora:41
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
|
|
# Fedora 41 test
|
|
weekly-test-fedora-41-default:
|
|
extends: .weekly-build-fedora
|
|
image: fedora:41
|
|
stage: test
|
|
needs: ["weekly-build-fedora-41-default"]
|
|
dependencies:
|
|
- weekly-build-fedora-41-default
|
|
variables:
|
|
MODE: default
|
|
|
|
weekly-test-fedora-41-optimized:
|
|
extends: .weekly-build-fedora
|
|
image: fedora:41
|
|
stage: test
|
|
needs: ["weekly-build-fedora-41-optimized"]
|
|
dependencies:
|
|
- weekly-build-fedora-41-optimized
|
|
variables:
|
|
MODE: optimized
|
|
|
|
# Fedora 42
|
|
weekly-build-fedora-42-debug:
|
|
extends: .weekly-build-fedora
|
|
needs: ["weekly-fedora"]
|
|
image: fedora:42
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
|
|
weekly-build-fedora-42-default:
|
|
extends: .weekly-build-fedora
|
|
needs: ["weekly-fedora"]
|
|
image: fedora:42
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
|
|
weekly-build-fedora-42-optimized:
|
|
extends: .weekly-build-fedora
|
|
needs: ["weekly-fedora"]
|
|
image: fedora:42
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
|
|
# Fedora 42 test
|
|
weekly-test-fedora-42-default:
|
|
extends: .weekly-build-fedora
|
|
image: fedora:42
|
|
stage: test
|
|
needs: ["weekly-build-fedora-42-default"]
|
|
dependencies:
|
|
- weekly-build-fedora-42-default
|
|
variables:
|
|
MODE: default
|
|
|
|
weekly-test-fedora-42-optimized:
|
|
extends: .weekly-build-fedora
|
|
image: fedora:42
|
|
stage: test
|
|
needs: ["weekly-build-fedora-42-optimized"]
|
|
dependencies:
|
|
- weekly-build-fedora-42-optimized
|
|
variables:
|
|
MODE: optimized
|