Commit Graph

8 Commits

Author SHA1 Message Date
Andrés Eduardo García Márquez 84e228fe3e ci: update deploy script and workflow for K3s deployment
CI/CD Pipeline / deploy (push) Failing after 31s Details
CI/CD Pipeline / smoke-tests (push) Has been skipped Details
CI/CD Pipeline / e2e-tests (push) Has been skipped Details
CI/CD Pipeline / rollback (push) Has been skipped Details
deploy.sh improvements:
- Updated namespace to 'academia'
- Added pull_code, run_tests, smoke_tests functions
- Smoke tests verify: health API, frontend, GraphQL, database
- Added rollback command
- Uses passwordless sudo

Workflow still configured but limited by runner memory.
Use deploy.sh directly on K3s server for reliable deployments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 08:18:58 -05:00
Andrés Eduardo García Márquez bdb637ec1e ci: use catthehacker/ubuntu:act-22.04 image with preinstalled tools
CI/CD Pipeline / deploy (push) Failing after 1m23s Details
CI/CD Pipeline / rollback (push) Has been skipped Details
CI/CD Pipeline / smoke-tests (push) Has been skipped Details
- Runner now uses act-compatible Ubuntu image
- SSH and curl preinstalled, no need to install packages
- Simplified workflow steps
- All heavy work done via SSH on K3s server

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 07:55:13 -05:00
Andrés Eduardo García Márquez 2b9679ee55 ci: remove checkout action, use passwordless sudo, simplify workflow
CI/CD Pipeline / deploy (push) Failing after 21s Details
CI/CD Pipeline / smoke-tests (push) Has been skipped Details
CI/CD Pipeline / rollback (push) Has been skipped Details
- No checkout needed (code pulled via git on K3s server)
- Use passwordless sudo on K3s server
- Simplified smoke tests to single step
- Reduced workflow complexity

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 07:51:24 -05:00
Andrés Eduardo García Márquez cfac85275b ci: run tests and build on K3s server to avoid runner memory limits
CI/CD Pipeline / build-test-deploy (push) Failing after 58s Details
CI/CD Pipeline / rollback (push) Has been skipped Details
CI/CD Pipeline / smoke-tests (push) Has been skipped Details
Strategy change:
- Tests run directly on K3s server via SSH (has dotnet installed)
- Docker build/import also on K3s server
- Runner only handles SSH connection and smoke tests (lightweight)
- Smoke tests run from runner (just curl commands)
- Auto-rollback if smoke tests fail

This avoids OOMKilled issues in the runner container.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 07:47:54 -05:00
Andrés Eduardo García Márquez d1bb921b4b ci: optimize pipeline with .NET image, smoke tests, and auto-rollback
CI/CD Pipeline / test (push) Failing after 45s Details
CI/CD Pipeline / deploy (push) Has been skipped Details
CI/CD Pipeline / smoke-tests (push) Has been skipped Details
CI/CD Pipeline / rollback (push) Has been skipped Details
Changes:
- Runner now uses mcr.microsoft.com/dotnet/sdk:9.0 image
- Simplified test job (build + unit tests only)
- Deploy uses git pull instead of rsync for faster updates
- Added smoke tests in production:
  - Health check API
  - Health check Frontend
  - GraphQL endpoint validation
  - Database connectivity check
  - Subjects query test
- Auto-rollback if smoke tests fail

Flow: test -> deploy -> smoke-tests -> (rollback on failure)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 07:35:58 -05:00
Andrés Eduardo García Márquez f51eadd4ec ci: add tests job before deploy, fix namespace to academia
Test and Deploy to k3s / test (push) Failing after 1m17s Details
Test and Deploy to k3s / deploy (push) Has been skipped Details
- Add test job that runs Domain, Application, and Integration tests
- Deploy job now depends on test job (needs: test)
- Fix namespace from student-enrollment to academia
- Update sync path from student-enrollment to academia
- Always apply kustomize before rollout restart

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 07:08:21 -05:00
Andrés Eduardo García Márquez a9e4de63c9 ci: optimize deployment workflow for k3s
Deploy to k3s / deploy (push) Failing after 27s Details
- Single job instead of 3 (no artifact overhead)
- Build directly on k3s node (avoids image transfer)
- Parallel Docker builds with BuildKit
- Auto-create namespace if missing
- Automatic rollback on failure
- Health check via domain

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:34:38 -05:00
Andrés Eduardo García Márquez ff7f43b053 feat: add CI/CD pipeline, password recovery, and QA improvements
- Add Gitea Actions workflow for automated k3s deployment
- Implement password recovery with recovery codes (no email needed)
- Fix unenroll mutation (missing studentId parameter)
- Fix dashboard handling for expired sessions
- Add optimized Docker builds with caching
- Add k3s all-in-one deployment manifest
- Add QA test report and recommendations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 10:49:32 -05:00