Files

41 lines
1.7 KiB
Markdown

## 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".