[ISSUE-86] ci: replace Gradle wrapper validation with offline checksum #126
No reviewers
Labels
No Label
architect:complete
blocked-by:#139
blocks:#140
bug
CI/CD
complexity:low
complexity:medium
complexity:medium
config
depends-on:#124
docker
docs
effort:l
effort:s
effort:xs
epic/development
lead:complete
needs-decision
performance
priority:critical
priority:high
priority:low
priority:medium
security
spike
story-points:1
story-points:3
story-points:5
story-points:8
tech-debt
test
user-story
architect:complete
complexity:high
complexity:low
complexity:medium
cross-repo
cross-repo-dev
dev:in-progress
effort:l
effort:m
effort:s
effort:xl
effort:xs
epic
analytics
epic
development
epic
devops
epic
infra
epic
observability
epic
platform
epic
product
lead:complete
needs-decision
pipeline-complete
pipeline-error
pipeline-running
priority
later
priority
next
priority
now
start-pipeline
status
acceptance
status
blocked
status
done
status
in progress
status
in review
status
in testing
status
ready
status
refine
status
triage
subtask
type
analysis
type
bug
type
hygiene
type
mantainence
type
story
user-story
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Hithomelabs/CFTunnels#126
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "Dave/CFTunnels:ISSUE-86"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Replace the
gradle/actions/wrapper-validation@v3step (which fetches checksums from GitHub's CDN and times out on the internal CI runner) with an offline sha256 checksum verification using a local checksum file.Changes
.gitea/workflows/test_build.yml: ReplacedValidate Gradle Wrapperstep usinggradle/actions/wrapper-validation@v3withValidate Gradle Wrapper (offline checksum)that runssha256sum --checkgradle/wrapper/gradle-wrapper.jar.sha256: Added pre-computed SHA256 checksum file for the Gradle wrapper JARIssues
Testing
This PR replaces the
gradle/actions/wrapper-validation@v3step that fetches checksums from GitHub's CDN (which times out on the internal CI runner) with an offline sha256 checksum verification using a local checksum file atgradle/wrapper/gradle-wrapper.jar.sha256.Fixes the CI timeout issue after the multi-module merge.
PR Review: [ISSUE-86] ci: replace Gradle wrapper validation with offline checksum
Summary
This PR replaces the
gradle/actions/wrapper-validation@v3action (which fetches checksums from GitHub CDN and times out on the internal CI runner) with an offlinesha256sum --checkagainst a committed checksum file. This is architect-approved as Option B.Changes Reviewed
.gitea/workflows/test_build.yml—uses: gradle/actions/wrapper-validation@v3replaced withrun: sha256sum --check gradle/wrapper/gradle-wrapper.jar.sha256gradle/wrapper/gradle-wrapper.jar.sha256(new) — Pre-computed SHA-256 checksum for the wrapper JARCode Quality
|block scalar is correctly usedsha256sumoutput format with double-space separator)Security
Testing
Tooling Note
sha256sumis available onubuntu-latestrunners by default (part ofcoreutils), so no additional dependencies are required.Approval Status
REVIEW COMPLETE — APPROVED
This is a straightforward, well-justified change that addresses a concrete CI reliability issue. The approach (Option B from the architect's analysis) is correct: committed checksum file + local verification eliminates the external network dependency. The checksum file format is valid for
sha256sum --check, and the path references are correct.One minor suggestion (not blocking): Consider adding a
--strictflag tosha256sumto ensure the checksum file itself has no formatting issues (though the current file is correctly formatted):--strictexits non-zero if the checksum file has an improperly formatted line, offering an extra defense-in-depth layer.PR Review: [ISSUE-86] ci: replace Gradle wrapper validation with offline checksum
Code Quality
sha256sumoutput format with double-space separator)Security
Testing
Recommendations
Non-blocking suggestion: Consider
sha256sum --check --strictfor extra defense-in-depth on checksum file formatting.Approval Status
APPROVED — Ready for human merge. This architect-approved change correctly replaces the network-dependent Gradle wrapper validation with an offline checksum check, eliminating the timeout issue on the internal runner.