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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user