## ADDED Requirements ### Requirement: Gitea Actions Workflow File The project SHALL include a Gitea Actions compatible workflow file for CI/CD. #### Scenario: Workflow file existence - **WHEN** the project repository is initialized or cloned - **THEN** a workflow file SHALL be present in the `.gitea/workflows/` or `.github/workflows/` directory. ### Requirement: Docker Image Build Automation The CI/CD pipeline SHALL automatically build Docker images for the backend and frontend services. #### Scenario: Code push to main branch - **WHEN** code is pushed to the `main` branch - **THEN** the backend Docker image SHALL be built. - **AND** the frontend Docker image SHALL be built. ### Requirement: Docker Image Tagging The built Docker images SHALL be tagged with `latest` and the short commit SHA. #### Scenario: Image build completion - **WHEN** a Docker image is successfully built - **THEN** the image SHALL be tagged with `latest`. - **AND** the image SHALL be tagged with the short commit SHA. ### Requirement: Docker Image Push to Gitea Registry The built Docker images SHALL be pushed to the internal Gitea package registry. #### Scenario: Image build and tagging completion - **WHEN** Docker images are successfully built and tagged - **THEN** the backend image SHALL be pushed to the Gitea package registry. - **AND** the frontend image SHALL be pushed to the Gitea package registry. ### Requirement: Self-Hosted Runner Usage The CI/CD workflow SHALL utilize a self-hosted runner with the label "run". #### Scenario: Workflow execution - **WHEN** the CI/CD workflow is executed - **THEN** it SHALL run on a self-hosted runner. - **AND** the self-hosted runner SHALL have the label "run".