# 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