fix: resolve three CI workflow failures blocking deployments
This commit is contained in:
40
.github/workflows/docker-build.yml
vendored
40
.github/workflows/docker-build.yml
vendored
@@ -228,9 +228,18 @@ jobs:
|
||||
|
||||
# Determine the image reference based on event type
|
||||
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${{ github.event.pull_request.number }}"
|
||||
PR_NUM="${{ github.event.pull_request.number }}"
|
||||
if [ -z "${PR_NUM}" ]; then
|
||||
echo "❌ ERROR: Pull request number is empty"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${PR_NUM}"
|
||||
echo "Using PR image: $IMAGE_REF"
|
||||
else
|
||||
if [ -z "${{ steps.build-and-push.outputs.digest }}" ]; then
|
||||
echo "❌ ERROR: Build digest is empty"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}"
|
||||
echo "Using digest: $IMAGE_REF"
|
||||
fi
|
||||
@@ -245,6 +254,24 @@ jobs:
|
||||
docker cp ${CONTAINER_ID}:/usr/bin/caddy ./caddy_binary
|
||||
docker rm ${CONTAINER_ID}
|
||||
|
||||
# Determine the image reference based on event type
|
||||
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
||||
PR_NUM="${{ github.event.pull_request.number }}"
|
||||
if [ -z "${PR_NUM}" ]; then
|
||||
echo "❌ ERROR: Pull request number is empty"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${PR_NUM}"
|
||||
echo "Using PR image: $IMAGE_REF"
|
||||
else
|
||||
if [ -z "${{ steps.build-and-push.outputs.digest }}" ]; then
|
||||
echo "❌ ERROR: Build digest is empty"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}"
|
||||
echo "Using digest: $IMAGE_REF"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "==> Checking if Go toolchain is available locally..."
|
||||
if command -v go >/dev/null 2>&1; then
|
||||
@@ -297,9 +324,18 @@ jobs:
|
||||
|
||||
# Determine the image reference based on event type
|
||||
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${{ github.event.pull_request.number }}"
|
||||
PR_NUM="${{ github.event.pull_request.number }}"
|
||||
if [ -z "${PR_NUM}" ]; then
|
||||
echo "❌ ERROR: Pull request number is empty"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${PR_NUM}"
|
||||
echo "Using PR image: $IMAGE_REF"
|
||||
else
|
||||
if [ -z "${{ steps.build-and-push.outputs.digest }}" ]; then
|
||||
echo "❌ ERROR: Build digest is empty"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}"
|
||||
echo "Using digest: $IMAGE_REF"
|
||||
fi
|
||||
|
||||
22
.github/workflows/playwright.yml
vendored
22
.github/workflows/playwright.yml
vendored
@@ -213,8 +213,24 @@ jobs:
|
||||
if [[ "${{ steps.pr-info.outputs.is_push }}" == "true" ]]; then
|
||||
# Use sanitized branch name for Docker tag (/ is invalid in tags)
|
||||
IMAGE_REF="ghcr.io/${IMAGE_NAME}:${{ steps.sanitize.outputs.branch }}"
|
||||
else
|
||||
elif [[ -n "${{ steps.pr-info.outputs.pr_number }}" ]]; then
|
||||
IMAGE_REF="ghcr.io/${IMAGE_NAME}:pr-${{ steps.pr-info.outputs.pr_number }}"
|
||||
else
|
||||
echo "❌ ERROR: Cannot determine image reference"
|
||||
echo " - is_push: ${{ steps.pr-info.outputs.is_push }}"
|
||||
echo " - pr_number: ${{ steps.pr-info.outputs.pr_number }}"
|
||||
echo " - branch: ${{ steps.sanitize.outputs.branch }}"
|
||||
echo ""
|
||||
echo "This can happen when:"
|
||||
echo " 1. workflow_dispatch without pr_number input"
|
||||
echo " 2. workflow_run triggered by non-PR, non-push event"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validate the image reference format
|
||||
if [[ ! "${IMAGE_REF}" =~ ^ghcr\.io/[a-z0-9_-]+/[a-z0-9_-]+:[a-zA-Z0-9._-]+$ ]]; then
|
||||
echo "❌ ERROR: Invalid image reference format: ${IMAGE_REF}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📦 Starting container with image: ${IMAGE_REF}"
|
||||
@@ -230,6 +246,10 @@ jobs:
|
||||
-e CHARON_ENCRYPTION_KEY="${CHARON_ENCRYPTION_KEY}" \
|
||||
-e CHARON_EMERGENCY_TOKEN="${CHARON_EMERGENCY_TOKEN}" \
|
||||
-e CHARON_EMERGENCY_SERVER_ENABLED="${CHARON_EMERGENCY_SERVER_ENABLED}" \
|
||||
-e CHARON_EMERGENCY_BIND="0.0.0.0:2020" \
|
||||
-e CHARON_EMERGENCY_USERNAME="admin" \
|
||||
-e CHARON_EMERGENCY_PASSWORD="changeme" \
|
||||
-e CHARON_SECURITY_TESTS_ENABLED="true" \
|
||||
"${IMAGE_REF}"
|
||||
|
||||
echo "✅ Container started"
|
||||
|
||||
21
.github/workflows/security-pr.yml
vendored
21
.github/workflows/security-pr.yml
vendored
@@ -171,9 +171,26 @@ jobs:
|
||||
# Normalize image name for reference
|
||||
IMAGE_NAME=$(echo "${{ github.repository_owner }}/charon" | tr '[:upper:]' '[:lower:]')
|
||||
if [[ "${{ steps.pr-info.outputs.is_push }}" == "true" ]]; then
|
||||
IMAGE_REF="ghcr.io/${IMAGE_NAME}:${{ github.event.workflow_run.head_branch }}"
|
||||
else
|
||||
BRANCH_NAME="${{ github.event.workflow_run.head_branch }}"
|
||||
if [[ -z "${BRANCH_NAME}" ]]; then
|
||||
echo "❌ ERROR: Branch name is empty for push build"
|
||||
exit 1
|
||||
fi
|
||||
IMAGE_REF="ghcr.io/${IMAGE_NAME}:${BRANCH_NAME}"
|
||||
elif [[ -n "${{ steps.pr-info.outputs.pr_number }}" ]]; then
|
||||
IMAGE_REF="ghcr.io/${IMAGE_NAME}:pr-${{ steps.pr-info.outputs.pr_number }}"
|
||||
else
|
||||
echo "❌ ERROR: Cannot determine image reference"
|
||||
echo " - is_push: ${{ steps.pr-info.outputs.is_push }}"
|
||||
echo " - pr_number: ${{ steps.pr-info.outputs.pr_number }}"
|
||||
echo " - branch: ${{ github.event.workflow_run.head_branch }}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validate the image reference format
|
||||
if [[ ! "${IMAGE_REF}" =~ ^ghcr\.io/[a-z0-9_-]+/[a-z0-9_-]+:[a-zA-Z0-9._-]+$ ]]; then
|
||||
echo "❌ ERROR: Invalid image reference format: ${IMAGE_REF}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🔍 Extracting binary from: ${IMAGE_REF}"
|
||||
|
||||
Reference in New Issue
Block a user