Skip to content

Commit 1f28e95

Browse files
authored
Merge pull request #25 from AET-DevOps25/dev
Release of new features (v.1.0.0)
2 parents c4e8ba3 + 35aacf3 commit 1f28e95

File tree

384 files changed

+44239
-1043
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

384 files changed

+44239
-1043
lines changed

.github/CODEOWNERS

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# This file defines code ownership for automatic review assignments
2+
3+
# Default owners for everything in the repo
4+
* @lenni108 @sfdamm @ClaudiaDuenzinger
5+
6+
# Specific service owners
7+
/api/ @lenni108 @sfdamm
8+
/client/ @lenni108
9+
/gateway/ @sfdamm
10+
/user-svc/ @ClaudiaDuenzinger
11+
/concept-svc/ @lenni108
12+
/genai-svc/ @sfdamm
13+
14+
# Infrastructure and CI/CD
15+
/.github/workflows/ @sfdamm
16+
/helm/ai-event-concepter/ @sfdamm
17+
/helm/monitor/ @ClaudiaDuenzinger
18+
/infrastructure/ @lenni108
19+
/monitoring/ @ClaudiaDuenzinger
20+
21+
# Documentation
22+
/docs/ @lenni108
23+
*.md @lenni108 @sfdamm @ClaudiaDuenzinger

.github/pull_request_template.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
## Description
2+
3+
<!-- Describe the changes introduced by this PR -->
4+
5+
## Related Issues
6+
7+
<!-- Link to any related issues here using #issue_number -->
8+
9+
## Type of Change
10+
11+
- [ ] 🚀 New Feature
12+
- [ ] 🐛 Bug Fix
13+
- [ ] 🔧 Refactoring
14+
- [ ] 📝 Documentation Update
15+
- [ ] 🧪 Test Changes
16+
- [ ] 🛠️ CI/CD Improvements
17+
18+
## How Has This Been Tested?
19+
20+
<!-- Describe the tests you've run to verify your changes -->
21+
22+
## Checklist
23+
24+
- [ ] My code follows the style guidelines of this project
25+
- [ ] I have performed a self-review of my code
26+
- [ ] I have commented my code, particularly in hard-to-understand areas
27+
- [ ] I have made corresponding changes to the documentation
28+
- [ ] My changes generate no new warnings
29+
- [ ] I have added tests that prove my fix is effective or that my feature works
30+
- [ ] New and existing unit tests pass locally with my changes
31+
- [ ] Any dependent changes have been merged and published
32+
33+
## Screenshots (if applicable)
34+
35+
<!-- Add screenshots here if UI changes were made -->

.github/workflows/README.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# CI/CD Pipeline Documentation
2+
3+
## Overview
4+
5+
This directory contains the GitHub Actions workflow files that make up our CI/CD pipeline. The pipeline is structured to ensure proper separation of concerns between Continuous Integration (building/testing) and Continuous Deployment (deploying to environments).
6+
7+
## Workflow Files
8+
9+
### 1. [`ci.yml`](./ci.yml)
10+
11+
**Purpose**: Handles all Continuous Integration tasks including code generation, testing, and building Docker images.
12+
13+
**Key Features**:
14+
- API validation and code generation
15+
- Running tests for all services
16+
- Building and pushing Docker images
17+
- Building API documentation
18+
19+
**Triggered by**:
20+
- Push to `main` or `dev` branches
21+
- Pull requests to `main` or `dev`
22+
23+
### 2. [`cd.yml`](./cd.yml)
24+
25+
**Purpose**: Handles all Continuous Deployment tasks to staging and production environments.
26+
27+
**Key Features**:
28+
- Proper dependency on CI workflow completion
29+
- Environment-specific deployments (staging for `dev` branch, production for `main` branch)
30+
- Kubernetes deployments with Helm
31+
- Deployment verification
32+
33+
**Triggered by**:
34+
- Successful completion of the CI workflow on `main` or `dev` branches
35+
36+
### 3. [`infrastructure.yml`](./infrastructure.yml)
37+
38+
**Purpose**: Manages infrastructure deployments using Terraform and Ansible.
39+
40+
**Key Features**:
41+
- Creates and updates AWS infrastructure
42+
- Configures server environments
43+
- Manages environment-specific deployments
44+
45+
**Triggered by**:
46+
- Manual workflow dispatch
47+
- Changes to infrastructure files on `main` branch
48+
49+
### 4. [`validate_pr.yml`](./validate_pr.yml)
50+
51+
**Purpose**: Validates pull requests for code quality and potential issues.
52+
53+
**Key Features**:
54+
- Linting and static analysis
55+
- Size checks for large PRs
56+
- API spec validation
57+
58+
**Triggered by**:
59+
- Pull request creation or updates
60+
61+
## Pipeline Flow
62+
63+
1. **Code Changes**: Developer makes changes and creates a PR
64+
2. **PR Validation**: `validate_pr.yml` runs checks on the PR
65+
3. **CI Pipeline**: After merge/push, `ci.yml` builds and tests the code
66+
4. **CD Pipeline**: After successful CI, `cd.yml` deploys to the appropriate environment
67+
68+
## Environment Configuration
69+
70+
- **Staging**: Deployed from the `dev` branch
71+
- **Production**: Deployed from the `main` branch
72+
73+
## Key Improvements
74+
75+
1. **Separation of Concerns**: CI and CD are clearly separated
76+
2. **Workflow Dependencies**: CD only runs after successful CI completion
77+
3. **Race Condition Prevention**: No more issues with deployments starting before builds complete
78+
4. **Simplified Structure**: Easier to understand and maintain
79+
80+
## Team Responsibilities
81+
82+
- **CI/CD Pipeline**: @sfdamm
83+
- **Kubernetes Helm Charts**: @sfdamm (ai-event-concepter) and @ClaudiaDuenzinger (monitor)
84+
- **Infrastructure**: @lenni108
85+
- **Monitoring**: @ClaudiaDuenzinger
86+
87+
## Best Practices
88+
89+
1. Always use `needs:` to ensure proper job execution order
90+
2. Use GitHub Environments for deployment protection rules
91+
3. Include verification steps after deployments
92+
4. Keep related jobs in the same workflow file
93+
5. Use descriptive job and step names

.github/workflows/api_validation.yml

Lines changed: 0 additions & 138 deletions
This file was deleted.

0 commit comments

Comments
 (0)