ci: promote custom slim runner image (ci-runner:1.0.0) #122
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
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Hithomelabs/CFTunnels#122
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "Dave/CFTunnels:ISSUE-69"
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
Promote the validated custom CI runner image (
192.168.0.100:8928/hithomelabs/ci-runner:1.0.0) to CFTunnels workflows, replacingcatthehacker/ubuntu:act-latestwith a pinned, reproducible build image.Changes
.gitea/workflows/test_image_build_push.yml: Changedcontainer.imagefromcatthehacker/ubuntu:act-latestto192.168.0.100:8928/hithomelabs/ci-runner:1.0.0.gitea/workflows/prod_image_tag_promote.yaml: Changedcontainer.imagefromcatthehacker/ubuntu:act-latestto192.168.0.100:8928/hithomelabs/ci-runner:1.0.0Issues
Rollback
If needed, revert this PR. The old
catthehacker/ubuntu:act-latestimage remains on disk for 2 weeks per the rollback strategy.Testing
PR Review: ci: promote custom slim runner image (ci-runner:1.0.0)
❌ Critical Concern: JDK Setup Incompatibility
The PR changes to Alpine-based container but retains
actions/setup-java@v4withzuludistribution intest_image_build_push.yml. This is incompatible.Evidence from ci-runner-test PR #5:
Fix validated in ci-runner-test:
Replace:
With:
✅
prod_image_tag_promote.yaml— No changes neededThe prod workflow only tags/pushes images (no Java compilation). The image swap alone is fine there.
Summary
test_image_build_push.yml: Must also update JDK setup (see above) — REQUEST CHANGESprod_image_tag_promote.yaml: Approved as-isPlease update the JDK setup step to match the validated approach, then I'll approve.
⚠️ REVIEW DECISION: REQUEST CHANGES
I've reviewed the diff and the validation results from
ci-runner-test. Here's my detailed feedback:✅ What's Good
:1.0.0— deterministic builds, best practiceci-runner-testrepo❌ Critical Issue: JDK Setup Incompatibility
test_image_build_push.ymlchanges the container to Alpine-basedeclipse-temurin:17-jre-alpine, but retainsactions/setup-java@v4withzuludistribution. This will break the Gradle build.Evidence from ci-runner-test PR #5 (titled "Fix Gradle build failure — replace setup-java with Alpine JDK package"):
The
actions/setup-java@v4step downloads a glibc-compiled JDK, which cannot execute on Alpine's musl libc. The error was:The validated fix was to replace
actions/setup-java@v4with Alpine's native JDK:🔧 Required Change
Please update
test_image_build_push.yml— replace theactions/setup-java@v4step with theapk add openjdk17-jdkapproach above.✅ Approved As-Is
prod_image_tag_promote.yaml— This workflow only tags/pushes Docker images (no Java compilation). The image swap is fine.Summary
test_image_build_push.ymlprod_image_tag_promote.yamlOnce the JDK setup is updated to match the validated approach, I'll approve the PR.
══════════════════════════════════════════════════════════
LEAD AGENT COMPLETED ✓
══════════════════════════════════════════════════════════
Reviewed PR #122 in Hithomelabs/CFTunnels
Decision: REQUEST CHANGES
Review Summary:
• Container image: catthehacker/ubuntu:act-latest → ci-runner:1.0.0 ✅ (good change)
• PR has the right idea — pinned version, consistent across files
• ⚠️ CRITICAL: JDK setup in test_image_build_push.yml will fail on Alpine
(actions/setup-java@v4 downloads glibc JDK → incompatible with musl)
→ Must replace with: apk add --no-cache openjdk17-jdk
• prod_image_tag_promote.yaml change is fine as-is ✅
Added labels: effort:xs, complexity:low
lead:complete added to parent issue Hithomelabs/HomeLabDocker#69
══════════════════════════════════════════════════════════
Fixed the Alpine JDK compatibility issue. Here's the summary:
Problem:
actions/setup-java@v4downloads a glibc-compiled JDK, which crashes on the new Alpine-based ci-runner:1.0.0 container image.Fix: Replaced the
actions/setup-java@v4step (lines 39-43) with Alpine-native JDK install usingapk add --no-cache openjdk17-jdkand settingJAVA_HOMEto/usr/lib/jvm/java-17-openjdk.Diff:
This same fix was validated in ci-runner-test PR #5. PR #122 now auto-updates with the commit
Hithomelabs/CFTunnels#122: replace actions/setup-java@v4 with Alpine-native JDK install for ci-runner container.PR Review: ci: promote custom slim runner image (ci-runner:1.0.0)
✅ Changes Verified
test_image_build_push.yml— Fix applied correctly.catthehacker/ubuntu:act-latest→192.168.0.100:8928/hithomelabs/ci-runner:1.0.0✅actions/setup-java@v4(glibc/zulu) →apk add --no-cache openjdk17-jdk(musl-compatible) ✅JAVA_HOMEexported to$GITHUB_ENVfor downstream Gradle steps ✅prod_image_tag_promote.yaml— Approved as-is.Code Quality
run:step)Security
Testing
Verification against previous review
actions/setup-java@v4zulu JDK incompatible with Alpine muslapk add --no-cache openjdk17-jdkJAVA_HOMEnot set for Gradle$GITHUB_ENVprod_image_tag_promote.yamlimage swapApproval Status
REVIEW COMPLETE — APPROVED ✓
Ready for human merge. The JDK fix from the ci-runner-test validation has been correctly applied.
Cheched that the PR build passed, can merge !!