chore(komodo): switch to image-based deploys, trim CI pipeline

- docker-compose.yml: replace build: sections with image: refs
  (git.buzzbee.dev/BuzzbeeSCD/projecte-{svc}:)
- ci.yml: remove deploy + smoke jobs (Komodo owns build+deploy)
- DEPLOY.md: rewrite for Komodo-era workflow, keep deploy.sh as break-glass
- Gitea webhook already wired to Komodo build endpoint
This commit is contained in:
Hermes Coding Manager
2026-09-07 14:11:01 -04:00
parent 264f65955b
commit 12d9aa40fd
3 changed files with 38 additions and 253 deletions
-80
View File
@@ -149,83 +149,3 @@ jobs:
if: always()
shell: bash
run: docker rm -f projecte-e2e-db >/dev/null 2>&1 || true
deploy:
runs-on: projecte-runner
needs: quality
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Fallback checkout (manual clone)
if: failure()
shell: bash
run: |
set -euo pipefail
SERVER_URL="${{ github.server_url }}"
REPO="${{ github.repository }}"
TOKEN="${{ github.token }}"
HOST="${SERVER_URL#https://}"
HOST="${HOST#http://}"
rm -rf ./* ./.git 2>/dev/null || true
echo "Manual shallow clone from ${HOST}/${REPO}"
git clone --depth 1 "https://oauth2:${TOKEN}@${HOST}/${REPO}.git" .
- name: Deploy
shell: bash
env:
DEPLOY_DIR: ${{ vars.DEPLOY_DIR || '/home/projecte/ProjectE' }}
run: bash script/deploy.sh
smoke:
runs-on: projecte-runner
needs: deploy
if: always()
timeout-minutes: 10
steps:
- name: API health check
shell: bash
run: |
set -euo pipefail
BODY="$(curl -s http://localhost:3000/api/health || true)"
echo "${BODY}"
echo "${BODY}" | grep -q '"status"' || {
echo "ERROR: API health did not return the expected payload"
exit 1
}
echo "API health: OK"
- name: SPA root returns HTML
shell: bash
run: |
set -euo pipefail
BODY="$(curl -s http://localhost:3000/ || true)"
echo "${BODY}" | grep -qi '<html' || {
echo "ERROR: SPA root did not return HTML"
exit 1
}
echo "SPA root: HTML OK"
- name: Login smoke test
shell: bash
run: |
set -euo pipefail
set -a
. /home/projecte/ProjectE/.env
set +a
CODE="$(curl -s -o /tmp/smoke-login.json -w '%{http_code}' \
-X POST http://localhost:3000/api/auth/credentials \
-H 'Content-Type: application/json' \
-d "{\"email\":\"${INITIAL_ADMIN_EMAIL}\",\"password\":\"${INITIAL_ADMIN_PASSWORD}\"}" \
|| true)"
echo "Login HTTP status: ${CODE}"
cat /tmp/smoke-login.json
if [ "${CODE}" != "200" ]; then
echo "ERROR: Login smoke test failed (expected HTTP 200)"
exit 1
fi
echo "Login smoke test: OK"