Skip to content
Snippets Groups Projects
Select Git revision
  • 12cf53af9ac26a11da8b13580e6eb9df01a7b2ab
  • master default protected
  • feature/old_version_cleanup
3 results

shared_scripts.yml

Blame
  • shared_scripts.yml 9.92 KiB
    #-------------------------------------------------------------------------------
    # Copyright (c) 2022 RWTH Aachen University, Germany,
    # Virtual Reality & Immersive Visualisation Group.
    #-------------------------------------------------------------------------------
    
    variables:
      GIT_STRATEGY: none                # we disable fetch, clone or checkout for every job
      GIT_CHECKOUT: "false"             # as we only want to checkout and fetch in the preperation stage
      GIT_SUBMODULE_STRATEGY: "recursive"
      GIT_CLEAN_FLAGS: none
      GIT_DEPTH: "1"
      NUMBER_OF_OLD_VERSIONS: 3         # number of old revisions to keep after the deploy
      CLUSTER_ADDRESS: "copy18-1.hpc.itc.rwth-aachen.de"
      SHARED_META_URL: "https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/unreal-ci/-/raw/master/shared.meta"
      UNREAL_VERSION: "5.3"
    
    ##################################Generate Project##################################
    
    .Generate_Project_:
      stage: generate
      only: 
        - web
        - schedules
      tags:
        - linux
        - docker-executor
      image:
        name: registry.git-ce.rwth-aachen.de/vr-vis/vr-group/alpine-ci-container/alpine-ci:latest
      variables: 
        GEN_TEMPLATE_REPO: "https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/unrealprojecttemplate.git"
        GEN_TEMPLATE_BRANCH: "${UNREAL_VERSION}"
        GEN_DEPENDENCIES: "()"
        RUN_SETUP: "true"
      script:
        - find ${CI_PROJECT_DIR} -mindepth 1 -delete
        - declare -A dependencies=$GEN_DEPENDENCIES
        - git clone -b "${GEN_TEMPLATE_BRANCH}" --depth 1 --single-branch --recursive ${GEN_TEMPLATE_REPO} ${CI_PROJECT_DIR}
        - if [[ "${RUN_SETUP}" == "true" ]] ; then
        -   bash ${CI_PROJECT_DIR}/setup.sh --install-default-plugins
        - fi
        - git submodule add https://gitlab-ci-token:${CI_JOB_TOKEN}@git-ce.rwth-aachen.de/${CI_PROJECT_PATH}.git/ Plugins/${CI_PROJECT_NAME}
        - cd ${CI_PROJECT_DIR}/Plugins/${CI_PROJECT_NAME} && git checkout ${CI_COMMIT_SHA}
        - cd ${CI_PROJECT_DIR}
        - for i in "${!dependencies[@]}"; do
        -   git submodule add -b "${i%%@*}" --depth 1 ${dependencies[$i]} Plugins/${i#*@}
        - done 
        - git remote rm origin && git -c user.name='project-generation-bot' -c user.email='support@vr.rwth-aachen.de' commit -am "Generated Project"
      artifacts:
        name: "Generated_Project_${CI_PROJECT_NAME}"
        paths: ["*"]
        expire_in: 3 days
        when: always
    
    ##################################Win64##################################
    
    .Build_Windows_:
      stage: build
      variables:
        GIT_STRATEGY: clone
        GIT_CHECKOUT: "true"
        CLIENT_CONFIG: "Shipping"
        EXTRA_ARGS: ""
      tags:
        - windows
        - unreal
      script:
        # Clean folder before building
        - git clean -qxfdf; git submodule foreach --quiet --recursive git clean -qxfdf
        # Preparation and building stage
        - $env:Path="$env:PREPEND_PATH;$env:Path;$env:APPEND_PATH"