1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
# 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 40
weekly-build-fedora-40-debug:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:40
stage: build
variables:
MODE: debug
weekly-build-fedora-40-default:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:40
stage: build
variables:
MODE: default
weekly-build-fedora-40-optimized:
extends: .weekly-build-fedora
needs: ["weekly-fedora"]
image: fedora:40
stage: build
variables:
MODE: optimized
# Fedora 40 test
weekly-test-fedora-40-default:
extends: .weekly-build-fedora
image: fedora:40
stage: test
needs: ["weekly-build-fedora-40-default"]
dependencies:
- weekly-build-fedora-40-default
variables:
MODE: default
weekly-test-fedora-40-optimized:
extends: .weekly-build-fedora
image: fedora:40
stage: test
needs: ["weekly-build-fedora-40-optimized"]
dependencies:
- weekly-build-fedora-40-optimized
variables:
MODE: optimized
# 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
|