Skip to content

Commit 705d157

Browse files
Attempt to fix issues with Github workflow
1 parent 9138b64 commit 705d157

File tree

1 file changed

+35
-19
lines changed

1 file changed

+35
-19
lines changed

.github/workflows/build-docker-image.yml

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,28 @@ jobs:
1414
outputs:
1515
release: ${{ steps.extract.outputs.release }}
1616
app: ${{ steps.extract.outputs.app }}
17+
registry_user: ${{ steps.extract.outputs.registry_user }}
1718
should_build: ${{ steps.check.outputs.should_build }}
1819
steps:
1920
- name: Checkout code
2021
uses: actions/checkout@v4
2122
with:
2223
fetch-depth: 2
2324

24-
- name: Extract RELEASE and APP from docker-bake.hcl
25+
- name: Extract variables from docker-bake.hcl
2526
id: extract
2627
run: |
2728
RELEASE=$(grep 'variable "RELEASE"' -A 2 docker-bake.hcl | grep 'default' | sed 's/.*"\(.*\)"/\1/')
2829
APP=$(grep 'variable "APP"' -A 2 docker-bake.hcl | grep 'default' | sed 's/.*"\(.*\)"/\1/')
30+
REGISTRY_USER=$(grep 'variable "REGISTRY_USER"' -A 2 docker-bake.hcl | grep 'default' | sed 's/.*"\(.*\)"/\1/')
31+
2932
echo "release=${RELEASE}" >> $GITHUB_OUTPUT
3033
echo "app=${APP}" >> $GITHUB_OUTPUT
34+
echo "registry_user=${REGISTRY_USER}" >> $GITHUB_OUTPUT
35+
3136
echo "Current RELEASE: ${RELEASE}"
3237
echo "Current APP: ${APP}"
38+
echo "Current REGISTRY_USER: ${REGISTRY_USER}"
3339
3440
- name: Check if RELEASE changed
3541
id: check
@@ -90,35 +96,45 @@ jobs:
9096
username: ${{ github.actor }}
9197
password: ${{ secrets.GITHUB_TOKEN }}
9298

99+
- name: Create temporary docker-bake override file
100+
run: |
101+
# Create an override file that forces ghcr.io
102+
cat > docker-bake.override.hcl << 'EOF'
103+
target "default" {
104+
inherits = ["default"]
105+
tags = ["ghcr.io/${{ github.repository_owner }}/${{ needs.detect-changes.outputs.app }}:${{ needs.detect-changes.outputs.release }}"]
106+
}
107+
EOF
108+
109+
echo "Override file created:"
110+
cat docker-bake.override.hcl
111+
93112
- name: Build and push Docker image
94-
env:
95-
REGISTRY: ghcr.io
96-
REGISTRY_USER: ${{ github.repository_owner }}
97113
run: |
98114
echo "Building and pushing Docker image to ghcr.io..."
99115
100-
APP="${{ needs.detect-changes.outputs.app }}"
101-
RELEASE="${{ needs.detect-changes.outputs.release }}"
102-
103116
# Show what will be built
104-
echo "Registry: $REGISTRY"
105-
echo "User: $REGISTRY_USER"
106-
echo "App: $APP"
107-
echo "Release: $RELEASE"
108-
echo "Image will be: $REGISTRY/$REGISTRY_USER/$APP:$RELEASE"
109-
docker buildx bake --push default
110-
echo "Image built and pushed successfully!"
117+
echo "Configuration:"
118+
docker buildx bake -f docker-bake.hcl -f docker-bake.override.hcl --print default
119+
120+
echo ""
121+
echo "Starting build..."
122+
123+
# Build with both files - override will take precedence for tags
124+
docker buildx bake -f docker-bake.hcl -f docker-bake.override.hcl --push default
125+
126+
echo "Build completed!"
111127
112128
- name: Verify image was pushed
113129
run: |
114130
IMAGE="ghcr.io/${{ github.repository_owner }}/${{ needs.detect-changes.outputs.app }}:${{ needs.detect-changes.outputs.release }}"
115-
echo "Verifying image was pushed: $IMAGE"
131+
echo "Verifying image: $IMAGE"
116132
117-
# Wait a moment for registry to update
118-
sleep 5
133+
# Wait for registry to update
134+
sleep 10
119135
120-
# Check with Docker CLI (should work since we're logged in)
121-
docker pull $IMAGE --quiet && echo "Image verified: $IMAGE" || echo " Could not pull image: $IMAGE"
136+
# Try to pull the image
137+
docker pull $IMAGE && echo "✅ SUCCESS: Image verified: $IMAGE" || echo "❌ FAILED: Could not pull image: $IMAGE"
122138
123139
- name: List built image
124140
id: list-images

0 commit comments

Comments
 (0)