# 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 --assumeyes - dnf install --assumeyes gcc-c++ cmake ccache ninja-build boost-devel eigen3-devel gtk3 gtk3-devel gsl gsl-devel sqlite sqlite-devel libxml2 libxml2-devel openmpi openmpi-devel goocanvas2-devel python python-devel pygobject3-devel python3-gobject gobject-introspection-devel graphviz-devel graphviz ipython git - source /etc/profile.d/modules.sh - module load mpi/openmpi-x86_64 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 36 # weekly-build-fedora-36-debug: # extends: .weekly-build-fedora # needs: ["weekly-fedora"] # image: fedora:36 # stage: build # variables: # MODE: debug # weekly-build-fedora-36-default: # extends: .weekly-build-fedora # needs: ["weekly-fedora"] # image: fedora:36 # stage: build # variables: # MODE: default # weekly-build-fedora-36-optimized: # extends: .weekly-build-fedora # needs: ["weekly-fedora"] # image: fedora:36 # stage: build # variables: # MODE: optimized # Fedora 36 test # weekly-test-fedora-36-default: # extends: .weekly-build-fedora # image: fedora:36 # stage: test # needs: ["weekly-build-fedora-36-default"] # dependencies: # - weekly-build-fedora-36-default # variables: # MODE: default # weekly-test-fedora-36-optimized: # extends: .weekly-build-fedora # image: fedora:36 # stage: test # needs: ["weekly-build-fedora-36-optimized"] # dependencies: # - weekly-build-fedora-36-optimized # variables: # MODE: optimized # Fedora 37 weekly-build-fedora-37-debug: extends: .weekly-build-fedora needs: ["weekly-fedora"] image: fedora:37 stage: build variables: MODE: debug weekly-build-fedora-37-default: extends: .weekly-build-fedora needs: ["weekly-fedora"] image: fedora:37 stage: build variables: MODE: default weekly-build-fedora-37-optimized: extends: .weekly-build-fedora needs: ["weekly-fedora"] image: fedora:37 stage: build variables: MODE: optimized # Fedora 37 test weekly-test-fedora-37-default: extends: .weekly-build-fedora image: fedora:37 stage: test needs: ["weekly-build-fedora-37-default"] dependencies: - weekly-build-fedora-37-default variables: MODE: default weekly-test-fedora-37-optimized: extends: .weekly-build-fedora image: fedora:37 stage: test needs: ["weekly-build-fedora-37-optimized"] dependencies: - weekly-build-fedora-37-optimized variables: MODE: optimized # Fedora 38 weekly-build-fedora-38-debug: extends: .weekly-build-fedora needs: ["weekly-fedora"] image: fedora:38 stage: build variables: MODE: debug weekly-build-fedora-38-default: extends: .weekly-build-fedora needs: ["weekly-fedora"] image: fedora:38 stage: build variables: MODE: default weekly-build-fedora-38-optimized: extends: .weekly-build-fedora needs: ["weekly-fedora"] image: fedora:38 stage: build variables: MODE: optimized # Fedora 38 test weekly-test-fedora-38-default: extends: .weekly-build-fedora image: fedora:38 stage: test needs: ["weekly-build-fedora-38-default"] dependencies: - weekly-build-fedora-38-default variables: MODE: default weekly-test-fedora-38-optimized: extends: .weekly-build-fedora image: fedora:38 stage: test needs: ["weekly-build-fedora-38-optimized"] dependencies: - weekly-build-fedora-38-optimized variables: MODE: optimized