spring-projects / spring-projects/spring-security

Fail Release Workflows if Job Fails

Open
#16,764 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

in: build theme: build-automation type: bug
Dominant language
Java
Stars
9.6k
Forks
6.3k
Avg merge
2d 11h
Merged PRs (30d)
52

Description

Currently if a step in the release process fails, it still appears to pass the build. For example, this build of Update Scheduled Release Version appeared to succeed.

Image

However, if you click into the details the Check Release Due Date step failed.

Run echo "result=$(./gradlew -q checkMilestoneIsDueToday -PnextVersion=$VERSION -PgitHubAccessToken=$TOKEN)" >> $GITHUB_OUTPUT
Error during JavaScript execution
com.gargoylesoftware.htmlunit.ScriptException: missing formal parameter (https://www.sonarsource.com/app-6198c9e3d749c634c431.js#2)
	at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:1001)
	at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:590)
	at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:484)
	at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.callSecured(HtmlUnitContextFactory.java:349)
	at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java:830)
	at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java:796)
	at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java:118)
	at com.gargoylesoftware.htmlunit.html.HtmlPage.loadJavaScriptFromUrl(HtmlPage.java:1153)
	at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1024)
	at com.gargoylesoftware.htmlunit.html.ScriptElementSupport.executeScriptIfNeeded(ScriptElementSupport.java:196)
	at com.gargoylesoftware.htmlunit.html.ScriptElementSupport$1.execute(ScriptElementSupport.java:120)
	at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:342)
	at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:689)
	at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:571)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:489)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:396)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:534)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:516)
	at s101.S101PluginExtension.<init>(S101PluginExtension.java:120)
	at s101.S101Plugin.apply(S101Plugin.java:37)
	at s101.S101Plugin.apply(S101Plugin.java:34)
	at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:54)
	at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
	at org.gradle.api.internal.plugins.ModelDefaultsApplyingPluginTarget.applyImperative(ModelDefaultsApplyingPluginTarget.java:46)
	at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:190)
	at org.gradle.api.internal.plugins.DefaultPluginManager.access$100(DefaultPluginManager.java:54)
	at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:288)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.shiftExpr(Parser.java:2486)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.relExpr(Parser.java:2464)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.eqExpr(Parser.java:2440)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.bitAndExpr(Parser.java:2431)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.bitXorExpr(Parser.java:2422)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.bitOrExpr(Parser.java:2413)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.andExpr(Parser.java:2404)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.orExpr(Parser.java:2395)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.condExpr(Parser.java:2362)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.assignExpr(Parser.java:2320)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.expr(Parser.java:2303)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.statementHelper(Parser.java:1249)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.statement(Parser.java:1104)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.parse(Parser.java:632)
	at net.sourceforge.htmlunit.corejs.javascript.Parser.parse(Parser.java:562)
	at net.sourceforge.htmlunit.corejs.javascript.Context.parse(Context.java:2549)
	at net.sourceforge.htmlunit.corejs.javascript.Context.compileImpl(Context.java:2480)
	at net.sourceforge.htmlunit.corejs.javascript.Context.compileString(Context.java:1448)
	at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory$TimeoutContext.compileString(HtmlUnitContextFactory.java:221)
	at net.sourceforge.htmlunit.corejs.javascript.Context.compileString(Context.java:1436)
	at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$1.doRun(JavaScriptEngine.java:821)
	at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:984)
	... 205 more

FAILURE: Build failed with an exception.

* Where:
Build file '/home/runner/work/spring-security-commercial/spring-security-commercial/build.gradle' line: 23

* What went wrong:
A problem occurred evaluating root project 'spring-security-commercial'.
> Failed to apply plugin 's101'.
   > java.lang.RuntimeException: com.gargoylesoftware.htmlunit.ScriptException: missing formal parameter (https://www.sonarsource.com/app-6198c9e3d749c634c431.js#2)

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.

BUILD FAILED in 3s

The workflow should have failed since the Job failed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the release workflow containing Update Scheduled Release Version and the build.gradle failure at line 23, starting with the Check Release Due Date step. Confirm that the failed step is propagated to the overall job and workflow; done means the release workflow reports failure when that step fails.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, java
Domain
ci-cd, release
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.