Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e44c3c6
Revert CI workflows to Databricks protected runner group
gopalldb Apr 6, 2026
a566b7e
Add Maven dependency caching for forked PRs
gopalldb Apr 8, 2026
65d5e9d
Add stale cache cleanup after pom.xml merge to main
gopalldb Apr 8, 2026
2fadb0f
Remove stale cache cleanup job — rely on GitHub 7-day auto-eviction
gopalldb Apr 8, 2026
345b773
Apply composite Maven setup action to prCheckJDK8 and concurrencyExec…
gopalldb Apr 8, 2026
40279c3
Merge branch 'main' into fix/revert-to-databricks-runners
gopalldb Apr 8, 2026
8f0f7c3
Fix cache warmer: Linux-only, OS-agnostic cache key
gopalldb Apr 8, 2026
49e3aad
Fix cache warmer: Linux-only, OS-agnostic cache key
gopalldb Apr 8, 2026
de66d4a
Merge main: resolve coverageReport.yml conflict
gopalldb Apr 8, 2026
3e1eccb
Fix cache warmer: use install instead of compile
gopalldb Apr 8, 2026
2344880
Merge branch 'databricks:main' into main
gopalldb Apr 8, 2026
1bfa69c
Merge branch 'main' into fix/maven-cache-forked-prs
gopalldb Apr 8, 2026
6c82cf9
Fix cache warmer: remove dependency:resolve, use install only
gopalldb Apr 8, 2026
309cd68
Merge branch 'databricks:main' into main
gopalldb Apr 8, 2026
c3df4e3
Resolve merge conflict in warmMavenCache.yml
gopalldb Apr 8, 2026
1534d1c
Merge branch 'databricks:main' into main
gopalldb Apr 8, 2026
cd240f8
Fix cache warmer: resolve plugins and profile-specific dependencies
gopalldb Apr 8, 2026
8abdd24
Fix cache warmer: run actual PR workflow commands to cache all plugins
gopalldb Apr 8, 2026
ab7a4ce
Fix Windows: Enable long paths via registry instead of git config
gopalldb Apr 8, 2026
e781b64
Fix Windows: install portable git before checkout
gopalldb Apr 8, 2026
9b630be
Revert Windows fix: keep original git config, let it fail
gopalldb Apr 8, 2026
8e6cee9
Resolve merge conflict in warmMavenCache.yml
gopalldb Apr 8, 2026
eb57a54
Fix cache warmer: run a real test to trigger surefire provider resolu…
gopalldb Apr 8, 2026
b28bbc6
Merge branch 'databricks:main' into main
gopalldb Apr 8, 2026
59678f6
Resolve merge conflict: keep real test for surefire resolution
gopalldb Apr 8, 2026
78a9dd8
Fix fork Maven config: set updatePolicy=never to prevent remote checks
gopalldb Apr 8, 2026
522ca76
Merge branch 'databricks:main' into main
gopalldb Apr 8, 2026
c92e51b
Merge branch 'main' into fix/maven-cache-forked-prs
gopalldb Apr 8, 2026
3b9a5c2
Merge branch 'databricks:main' into main
gopalldb Apr 8, 2026
76ef338
Fix fork Maven config: use file:// mirror to local repo
gopalldb Apr 8, 2026
23ef116
Fix fork mirror: use jfrog-central ID to match cached artifact metadata
gopalldb Apr 8, 2026
91d2ac6
Fix fork Maven: remove _remote.repositories to prevent remote checks
gopalldb Apr 8, 2026
702a2c5
Fix fork Maven: combine _remote.repositories removal with file:// mirror
gopalldb Apr 8, 2026
e080e3f
Fix fork Maven: use offline mode instead of file:// mirror
gopalldb Apr 8, 2026
2c03f56
Remove _remote.repositories from cache at save time in warmer
gopalldb Apr 8, 2026
94f67b4
Resolve merge conflict: keep empty settings.xml for offline mode
gopalldb Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 21 additions & 38 deletions .github/actions/setup-maven/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,51 +21,34 @@ runs:
key: maven-deps-${{ hashFiles('**/pom.xml') }}
restore-keys: maven-deps-

- name: Configure Maven without credentials (fork)
- name: Configure Maven for cache-only resolution (fork)
if: inputs.is-fork == 'true'
shell: bash
run: |
mkdir -p ~/.m2

# Remove _remote.repositories marker files. These track which remote
# repo each artifact came from. Without them, Maven treats all cached
# artifacts as locally installed and resolves them without contacting
# any remote server.
find ~/.m2/repository -name '_remote.repositories' -delete 2>/dev/null || true
echo "Removed _remote.repositories markers from cache"

# Enable Maven offline mode via .mvn/maven.config. This file is read
# automatically by Maven as default CLI arguments. Offline mode prevents
# all network requests — no JFrog auth needed, no Maven Central fallback.
# Combined with _remote.repositories removal, Maven resolves everything
# from the local cache.
mkdir -p .mvn
echo "-o" >> .mvn/maven.config
echo "Maven offline mode enabled via .mvn/maven.config"

# Empty settings — no mirrors needed in offline mode.
cat > ~/.m2/settings.xml << 'SETTINGS_EOF'
<settings>
<mirrors>
<mirror>
<id>jfrog-central</id>
<mirrorOf>*</mirrorOf>
<url>https://databricks.jfrog.io/artifactory/db-maven/</url>
</mirror>
</mirrors>
<!-- No <servers> block: forked PRs use cached dependencies only. -->
<!-- updatePolicy=never prevents Maven from checking the remote for
updates, avoiding 401 errors when artifacts are already cached. -->
<profiles>
<profile>
<id>cache-only</id>
<repositories>
<repository>
<id>jfrog-central</id>
<url>https://databricks.jfrog.io/artifactory/db-maven/</url>
<releases><updatePolicy>never</updatePolicy></releases>
<snapshots><updatePolicy>never</updatePolicy></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jfrog-central</id>
<url>https://databricks.jfrog.io/artifactory/db-maven/</url>
<releases><updatePolicy>never</updatePolicy></releases>
<snapshots><updatePolicy>never</updatePolicy></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>cache-only</activeProfile>
</activeProfiles>
</settings>
<settings />
SETTINGS_EOF

echo "Maven configured for forked PR (cache-only, no JFrog credentials)"
echo "Maven configured for forked PR (cache-only, no remote access)"

# --- Same-repo path: full JFrog OIDC authentication ---
- name: Get JFrog OIDC token
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/warmMavenCache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,16 @@ jobs:

echo "Dependency resolution complete"

- name: Remove _remote.repositories before saving cache
shell: bash
run: |
# Remove _remote.repositories marker files before saving. These track
# which remote repo ID each artifact was downloaded from (jfrog-central).
# Without them, forked PRs can use the cache in offline mode without
# Maven complaining about repo ID mismatches.
COUNT=$(find ~/.m2/repository -name '_remote.repositories' -delete -print | wc -l)
echo "Removed ${COUNT} _remote.repositories markers"

- name: Save Maven dependency cache
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
Expand Down
Loading