File: gitlab-ci-fedora.yml

package info (click to toggle)
ns3 3.46-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 105,864 kB
  • sloc: cpp: 624,863; python: 14,863; ansic: 6,772; makefile: 1,950; sh: 987; javascript: 167; perl: 102
file content (137 lines) | stat: -rw-r--r-- 3,118 bytes parent folder | download
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