Files
unison/utils/tests/gitlab-ci-fedora.yml
2025-10-03 12:25:16 +00:00

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