From 8152ccd5df7f97fe930fc89176e6664ead7d1a8a Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Mon, 2 Feb 2026 14:35:49 +0100 Subject: [PATCH] ci: standardize runner containers and harden script output logic --- .gitea/workflows/deploy.yml | 41 ++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 462dcf32..40d6e0be 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -39,6 +39,8 @@ jobs: short_sha: ${{ steps.determine.outputs.short_sha }} commit_msg: ${{ steps.determine.outputs.commit_msg }} gatekeeper_changed: ${{ steps.changes.outputs.gatekeeper_changed }} + container: + image: catthehacker/ubuntu:act-latest steps: - name: Checkout repository uses: actions/checkout@v4 @@ -47,6 +49,7 @@ jobs: - name: 🔍 Check for Gatekeeper changes id: changes + shell: bash run: | if git rev-parse HEAD~1 >/dev/null 2>&1; then if git diff --quiet HEAD~1 HEAD -- gatekeeper; then @@ -122,19 +125,21 @@ jobs: TARGET="skip" fi - echo "target=$TARGET" >> $GITHUB_OUTPUT - echo "image_tag=$IMAGE_TAG" >> $GITHUB_OUTPUT - echo "env_file=$ENV_FILE" >> $GITHUB_OUTPUT - echo "traefik_host=$TRAEFIK_HOST" >> $GITHUB_OUTPUT - echo "next_public_base_url=$NEXT_PUBLIC_BASE_URL" >> $GITHUB_OUTPUT - echo "directus_url=$DIRECTUS_URL" >> $GITHUB_OUTPUT - echo "directus_host=$DIRECTUS_HOST" >> $GITHUB_OUTPUT - echo "project_name=$PROJECT_NAME" >> $GITHUB_OUTPUT - echo "is_prod=$IS_PROD" >> $GITHUB_OUTPUT - echo "gotify_title=$GOTIFY_TITLE" >> $GITHUB_OUTPUT - echo "gotify_priority=$GOTIFY_PRIORITY" >> $GITHUB_OUTPUT - echo "short_sha=$SHORT_SHA" >> $GITHUB_OUTPUT - echo "commit_msg=$COMMIT_MSG" >> $GITHUB_OUTPUT + { + echo "target=$TARGET" + echo "image_tag=$IMAGE_TAG" + echo "env_file=$ENV_FILE" + echo "traefik_host=$TRAEFIK_HOST" + echo "next_public_base_url=$NEXT_PUBLIC_BASE_URL" + echo "directus_url=$DIRECTUS_URL" + echo "directus_host=$DIRECTUS_HOST" + echo "project_name=$PROJECT_NAME" + echo "is_prod=$IS_PROD" + echo "gotify_title=$GOTIFY_TITLE" + echo "gotify_priority=$GOTIFY_PRIORITY" + echo "short_sha=$SHORT_SHA" + echo "commit_msg=$COMMIT_MSG" + } >> "$GITHUB_OUTPUT" # ────────────────────────────────────────────────────────────────────────────── # JOB 2: Quality Assurance (Lint & Test) @@ -144,6 +149,8 @@ jobs: needs: prepare if: needs.prepare.outputs.target != 'skip' runs-on: docker + container: + image: catthehacker/ubuntu:act-latest steps: - name: Checkout repository uses: actions/checkout@v4 @@ -274,6 +281,8 @@ jobs: needs: [prepare, build-app, build-gatekeeper, qa] if: ${{ needs.prepare.outputs.target != 'skip' }} runs-on: docker + container: + image: catthehacker/ubuntu:act-latest env: TARGET: ${{ needs.prepare.outputs.target }} IMAGE_TAG: ${{ needs.prepare.outputs.image_tag }} @@ -388,6 +397,8 @@ jobs: needs.deploy.result == 'success' && github.event.inputs.skip_long_checks != 'true' runs-on: docker + container: + image: catthehacker/ubuntu:act-latest outputs: report_url: ${{ steps.save.outputs.report_url }} steps: @@ -485,9 +496,11 @@ jobs: # ────────────────────────────────────────────────────────────────────────────── notifications: name: 🔔 Notifications - needs: [prepare, qa, build, deploy, pagespeed] + needs: [prepare, qa, build-app, build-gatekeeper, deploy, pagespeed] if: always() runs-on: docker + container: + image: catthehacker/ubuntu:act-latest steps: - name: 📊 Deployment Summary run: |