Skip to content

Fix main CI: JFrog mirror bypass and Windows pwsh parse error#1429

Closed
vikrantpuppala wants to merge 1 commit intomainfrom
fix-main-ci-jfrog-cache-v2
Closed

Fix main CI: JFrog mirror bypass and Windows pwsh parse error#1429
vikrantpuppala wants to merge 1 commit intomainfrom
fix-main-ci-jfrog-cache-v2

Conversation

@vikrantpuppala
Copy link
Copy Markdown
Collaborator

Summary

Two CI workflows on main have been failing. This PR fixes the root causes.

1. Integration Tests Workflow - Main Branch (failing 30+ runs in a row since Apr 8)

  • The cache step uses path: ~/.m2 with a long-lived restore-key ${{ runner.os }}-m2. It restores a stale cache from before the JFrog OIDC migration, whose ~/.m2/settings.xml (the github-server one written by actions/setup-java) overwrites the JFrog mirror config that the preceding "Configure maven" step just wrote.
  • Maven then tries to resolve from repo.maven.apache.org directly, which the protected runner cannot reach: Could not transfer artifact ... from/to central (https://repo.maven.apache.org/maven2): Remote host terminated the handshake.
  • Fix: narrow path to ~/.m2/repository so settings.xml is left alone (matches the pattern used by warmMavenCache.yml).

2. Test JDBC Logging (Windows jobs failing since Apr 27)

  • The "Get JFrog OIDC token" step uses bash syntax (if [ -z "$X" ], set -euo pipefail) but has no shell: directive. On Windows runners the default shell is pwsh, which fails parsing the bash if with Missing '(' after 'if'. The "Configure maven" step has the same problem (bash heredoc).
  • Fix: pin both steps to shell: bash. Linux jobs were unaffected because their default shell is already bash.

Test plan

  • After merge, confirm Integration Tests Workflow - Main Branch passes on the next push to main
  • After merge, confirm Test JDBC Logging Windows jobs pass on the next push to main

NO_CHANGELOG=true
OVERRIDE_FREEZE=true

This pull request and its description were written by Isaac.

Two CI workflows on main were failing:

1. runIntegrationTests.yml was caching ~/.m2, which restored a stale
   settings.xml on top of the JFrog-configured one written by the
   preceding Configure maven step. Maven then bypassed the mirror and
   tried to hit Maven Central directly, which the protected runner
   cannot reach. Narrow the cache path to ~/.m2/repository so
   settings.xml is preserved.

2. loggingTesting.yml's Get JFrog OIDC token and Configure maven steps
   used bash syntax (if [ ... ], heredoc) but had no shell directive.
   On Windows runners the default shell is pwsh, which fails to parse
   the bash if statement. Pin both steps to shell: bash.

Co-authored-by: Isaac
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
@vikrantpuppala
Copy link
Copy Markdown
Collaborator Author

Superseded — restoring #1428 with a follow-up commit to drop the bugCatcher hunk.

@vikrantpuppala vikrantpuppala deleted the fix-main-ci-jfrog-cache-v2 branch April 28, 2026 07:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant