diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1b6664e999..ce4034a100 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: # Given a tag, determine what branch we are on, so we can bump dependencies in the correct branch - name: Get Branch run: | - BRANCHES=$(git branch -r --contains ${{ github.ref }}) + BRANCHES=$(git branch -r --contains ${{ github.ref }} | grep -v 'HEAD') echo "BRANCHES is '${BRANCHES}'" # Check for no branches explicitly...Otherwise echo adds a newline so wc thinks there's # one branch. And echo -n makes it appears that there's one less branch than there diff --git a/gradle.properties b/gradle.properties index 18b65fae95..b55b2b3901 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -fiatVersion=1.53.0 +fiatVersion=1.54.0 korkVersion=7.251.0 kotlinVersion=1.6.21 org.gradle.parallel=true diff --git a/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java b/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java index d2d50aae1a..805e88349c 100644 --- a/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java +++ b/orca-clouddriver/src/main/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStage.java @@ -92,20 +92,22 @@ public boolean processExpressions( @Override public void afterStages(@Nonnull StageExecution stage, @Nonnull StageGraphBuilder graph) { - TrafficManagement trafficManagement = - stage.mapTo("/trafficManagement", TrafficManagement.class); - if (trafficManagement.isEnabled()) { - switch (trafficManagement.getOptions().getStrategy()) { - case RED_BLACK: - case BLUE_GREEN: - oldManifestActionAppender.deleteOrDisableOldManifest(stage.getContext(), graph); - break; - case HIGHLANDER: - oldManifestActionAppender.disableOldManifest(stage.getContext(), graph); - oldManifestActionAppender.deleteOldManifest(stage.getContext(), graph); - break; - case NONE: - // do nothing + if (stage.getContext().get("trafficManagement") != null) { + TrafficManagement trafficManagement = + stage.mapTo("/trafficManagement", TrafficManagement.class); + if (trafficManagement.isEnabled()) { + switch (trafficManagement.getOptions().getStrategy()) { + case RED_BLACK: + case BLUE_GREEN: + oldManifestActionAppender.deleteOrDisableOldManifest(stage.getContext(), graph); + break; + case HIGHLANDER: + oldManifestActionAppender.disableOldManifest(stage.getContext(), graph); + oldManifestActionAppender.deleteOldManifest(stage.getContext(), graph); + break; + case NONE: + // do nothing + } } } if (shouldRemoveStageOutputs(stage)) { diff --git a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java index e2388b4ed0..af9e262bec 100644 --- a/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java +++ b/orca-clouddriver/src/test/java/com/netflix/spinnaker/orca/clouddriver/pipeline/manifest/DeployManifestStageTest.java @@ -115,6 +115,14 @@ void rolloutStrategyDisabled() { assertThat(getAfterStages(stage)).isEmpty(); } + @Test + void rolloutStrategyMissing() { + StageExecutionImpl stage = new StageExecutionImpl(); + stage.setContext(getContext(DeployManifestContext.builder().build())); + stage.getContext().remove("trafficManagement"); + assertThat(getAfterStages(stage)).isEmpty(); + } + @Test void rolloutStrategyRedBlack() { givenManifestIsStable();