41 lines
1.7 KiB
Markdown
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".
|