Author SHA1 Message Date
Test 3eb4f4157a ci: add pre-verification with registry login test
CI / Test (pull_request) Successful in 2m20s
CI / Build & Push Image (pull_request) Skipped
2026-09-07 09:00:32 -07:00
rockandTest 70442e94b4 fix: standardize poimen-workflows CI to unified pattern (#5)
CI / Test (push) Successful in 2m10s
CI / Build & Push Image (push) Failing after 1m13s
Unified pattern enforced:
- test job: runs on all branches + PRs
- build-push job: only on main push, depends on test
- Proper env vars (GOPRIVATE, REGISTRY, IMAGE)
- Install Node.js before checkout
- Install docker only in build-push
- Docker login + build + push + prune

---------

Co-authored-by: Test <[email protected]>
Reviewed-on: #5
2026-09-07 07:14:46 +00:00
+44 -3
View File
@@ -41,14 +41,55 @@ jobs:
runs-on: golang
steps:
- name: Install Node.js and Docker
run: apt-get update && apt-get install -y nodejs docker.io
run: |
apt-get update
apt-get install -y nodejs docker.io
- name: Checkout code
uses: actions/checkout@v4
- name: Get short SHA
id: sha
run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
run: |
SHORT_SHA=$(git rev-parse --short HEAD)
echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT
- name: Pre-verify Docker, Registry, and Credentials
run: |
echo "=== Docker Daemon Check ==="
if ! docker version &>/dev/null; then
echo "❌ FAILED: Docker daemon not accessible"
exit 1
fi
echo "✓ Docker daemon is running"
docker version --format "Engine: {{.Server.Version}}"
echo ""
echo "=== Registry Credentials Check ==="
if [ -z "${REGISTRY_USER}" ] || [ -z "${REGISTRY_TOKEN}" ]; then
echo "❌ FAILED: FORGEJO_REGISTRY_USER or FORGEJO_REGISTRY_TOKEN not set"
exit 1
fi
echo "✓ Registry credentials are set"
echo ""
echo "=== Registry Login Test ==="
if ! echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" --username "${REGISTRY_USER}" --password-stdin &>/dev/null; then
echo "❌ FAILED: Registry login failed - credentials may be invalid"
exit 1
fi
echo "✓ Registry login successful"
docker logout "${REGISTRY}" &>/dev/null || true
echo ""
echo "=== Dockerfile Check ==="
if [ ! -f Dockerfile ]; then
echo "❌ FAILED: Dockerfile not found"
exit 1
fi
echo "✓ Dockerfile exists"
echo ""
echo "=== All pre-checks passed ==="
env:
REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }}
REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }}
- name: Registry login
run: |
@@ -58,7 +99,7 @@ jobs:
REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }}
REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }}
- name: Build and push image
- name: Build Docker image
run: |
docker build --no-cache \
-t "${IMAGE}:${{ steps.sha.outputs.short_sha }}" \