From d31d3aa2c462b67b86003c7f77402e37616d005f Mon Sep 17 00:00:00 2001
From: Andreas Fernandez <a.fernandez@scripting-base.de>
Date: Wed, 14 Feb 2018 15:18:39 +0100
Subject: [PATCH] [TASK] Let Bamboo check for clean TypeScript build

To avoid having stale TypeScript builds, Bamboo now recompiles every
TypeScript via grunt and checks for unwanted modifications.

Change-Id: I1d96bb81eff4d5c42332d0a27cce0a98a7d27478
Resolves: #83914
Releases: master, 8.7
Reviewed-on: https://review.typo3.org/55716
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 Build/bamboo/pom.xml                           |  2 +-
 .../src/main/java/core/AbstractCoreSpec.java   | 18 +++++++++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/Build/bamboo/pom.xml b/Build/bamboo/pom.xml
index 8a8e0542eebb..757de5d6e831 100644
--- a/Build/bamboo/pom.xml
+++ b/Build/bamboo/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>com.atlassian.bamboo</groupId>
     <artifactId>bamboo-specs-parent</artifactId>
-    <version>6.2.2</version>
+    <version>6.3.1</version>
     <relativePath/>
   </parent>
 
diff --git a/Build/bamboo/src/main/java/core/AbstractCoreSpec.java b/Build/bamboo/src/main/java/core/AbstractCoreSpec.java
index 9dab9e16a84e..abac094e1117 100644
--- a/Build/bamboo/src/main/java/core/AbstractCoreSpec.java
+++ b/Build/bamboo/src/main/java/core/AbstractCoreSpec.java
@@ -45,7 +45,7 @@ abstract public class AbstractCoreSpec {
     protected static String projectName = "TYPO3 Core";
     protected static String projectKey = "CORE";
 
-    protected String composerRootVersionEnvironment = "COMPOSER_ROOT_VERSION=9.0.0";
+    protected String composerRootVersionEnvironment = "COMPOSER_ROOT_VERSION=9.1.0";
 
     protected String testingFrameworkBuildPath = "vendor/typo3/testing-framework/Resources/Core/Build/";
 
@@ -593,7 +593,7 @@ abstract public class AbstractCoreSpec {
      */
     protected Job getJobLintScssTs() {
         return new Job("Lint scss ts", new BambooKey("LSTS"))
-            .description("Run npm lint in Build/ dir")
+            .description("Run npm lint, run npm run build-js")
             .pluginConfigurations(this.getDefaultJobPluginConfiguration())
             .tasks(
                 this.getTaskGitCloneRepository(),
@@ -610,7 +610,19 @@ abstract public class AbstractCoreSpec {
                     .description("Run npm lint")
                     .nodeExecutable("Node.js")
                     .workingSubdirectory("Build/")
-                    .command("run lint")
+                    .command("run lint"),
+                new NpmTask()
+                    .description("Run npm build-js")
+                    .nodeExecutable("Node.js")
+                    .workingSubdirectory("Build/")
+                    .command("run build-js"),
+                new ScriptTask()
+                    .description("git status to check for changed files after build-js")
+                    .interpreter(ScriptTaskProperties.Interpreter.BINSH_OR_CMDEXE)
+                    .inlineBody(
+                        this.getScriptTaskBashInlineBody() +
+                        "git status | grep -q \"nothing to commit, working directory clean\""
+                    )
             )
             .requirements(
                 new Requirement("system.imageVersion")
-- 
GitLab