3.3 KiB
Release Process
This document defines release expectations for VTuber Star Awards.
For daily delivery flow, see workflow.md. For branch policy, see branching.md. For release checklist, see CHECKLISTS.md.
Release Principles
- Keep releases small when practical.
- Prefer repeatable automation over manual server edits.
- Validate before and after deployment.
- Review migration and configuration risk before deploy.
- Keep rollback or recovery options ready.
Release Types
| Type | Description |
|---|---|
| Standard | Planned change deployed from main through the Gitea workflow. |
| Hotfix | Urgent production correction with the smallest safe change. |
| Documentation-only | Docs update that does not require runtime deployment validation. |
| Infrastructure | Runtime, hosting, Docker, database, network, or secret/config change. |
Versioning
The frontend package version lives in frontend/package.json. The deploy
workflow appends build metadata and writes VITE_BUILD_VERSION plus
VITE_BUILD_DATE before building production assets.
Readiness
Before releasing application changes:
- frontend build passes;
- backend Release build passes;
git diff --checkpasses;- migration operations are reviewed;
- target environment config and secrets are present;
- demo, seed, CORS, and production safety settings are understood;
- UI or API behavior has targeted validation evidence.
Automated Deployment
The production deploy job in .gitea/workflows/ci.yaml runs on main pushes
and manual dispatches.
Pipeline responsibilities:
- Verify repository hygiene.
- Build backend and frontend.
- Resolve version/build metadata.
- Verify production host layout.
- Sync repository contents to the production app directory.
- Write frontend build metadata.
- Build Docker images.
- Write a PostgreSQL predeploy backup.
- Apply EF Core migrations.
- Recreate
apiandwebservices. - Verify API health, database connectivity, pending migrations, and frontend assets.
Smoke Tests
Minimum automated smoke signals:
https://award.noveria.net/api/healthhttps://award.noveria.net/api/health/databasependingMigrationsis empty;- frontend index serves current JS and CSS assets;
- JS asset contains expected build version metadata.
Add manual smoke checks for the changed workflow, especially for admin, auth/permissions, voting, nomination, clip review, showact, sponsor, or content management changes. Use end-to-end-smoke.md as the standard core-workflow smoke checklist.
Rollback And Recovery
Rollback planning should address:
- application artifact rollback or redeploy from a previous commit;
- database restore or forward-fix path;
- configuration rollback;
- disabling demo/seed/optional public features;
- communication of degraded public workflows.
If a migration is destructive or hard to reverse, document the recovery path before deployment.
Post-Release Review
After production-impacting releases:
- confirm health checks and relevant public/admin workflows;
- check for unexpected database migration state;
- record incidents or anomalies;
- update docs, checklists, or ADRs when release steps drift;
- add follow-up tests or runbooks for gaps found during release.