        ])
      }
  
      if (env.BRANCH_NAME == 'master-ci') {
        deviceStage("build release3-staging", "tici-needs-can", [
          ["build release3-staging & dashcam3-staging", "RELEASE_BRANCH=release3-staging DASHCAM_BRANCH=dashcam3-staging $SOURCE_DIR/release/build_release.sh"],
        ])
      }
  
      if (!env.BRANCH_NAME.matches(excludeRegex)) {
      parallel (
 
</s> remove       deviceStage("build release3-staging", "tici-needs-can", [
        ["build nightly", "RELEASE_BRANCH=nightly $SOURCE_DIR/release/build_release.sh"],
 </s> add       deviceStage("build release3-staging", "tici-needs-can", [], [
        ["build release3-staging & dashcam3-staging", "RELEASE_BRANCH=release3-staging DASHCAM_BRANCH=dashcam3-staging $SOURCE_DIR/release/build_release.sh"], </s> remove     stage('git checkout') {
      checkout scm
    }

 </s> add  </s> remove         deviceStage("tici", "tici-needs-can", [
 </s> add         deviceStage("onroad", "tici-needs-can", ["SKIP_COPY=1"], [ </s> remove def deviceStage(String stageName, String deviceType, def steps) {
 </s> add def deviceStage(String stageName, String deviceType, List env, def steps) { </s> remove         deviceStage("tici", "tici-loopback", [
 </s> add         deviceStage("tici", "tici-loopback", ["UNSAFE=1"], [
      deviceStage("build nightly", "tici-needs-can", [], [
        ["build nightly", "RELEASE_BRANCH=nightly $SOURCE_DIR/release/build_release.sh"],
        ])
      }
  
      if (env.BRANCH_NAME == 'master-ci') {
      deviceStage("build nightly", "tici-needs-can", [], [
        ["build nightly", "RELEASE_BRANCH=nightly $SOURCE_DIR/release/build_release.sh"],
      deviceStage("build nightly", "tici-needs-can", [], [
        ["build nightly", "RELEASE_BRANCH=nightly $SOURCE_DIR/release/build_release.sh"],
        ])
      }
  
      if (!env.BRANCH_NAME.matches(excludeRegex)) {
      parallel (
keep keep keep keep replace replace keep keep keep keep keep
 jenkins speedup (#29869)

* jenkins speedup

* cleanup 
Jenkinsfile