Refactor CI workflows to improve caching mechanisms for dependencies in API Docs, frontend, and service adapters; replace artifact upload steps with test results summaries for better clarity in pipeline logs; update progress documentation accordingly
Some checks failed
API Docs (Node.js Express) / test (16) (push) Successful in 10m11s
API Docs (Node.js Express) / test (18) (push) Successful in 10m18s
API Docs (Node.js Express) / test (20) (push) Successful in 1m50s
LabFusion CI/CD Pipeline / api-gateway (push) Failing after 4m52s
LabFusion CI/CD Pipeline / service-adapters (push) Failing after 5m3s
API Docs (Node.js Express) / security (push) Has been cancelled
API Docs (Node.js Express) / build (push) Has been cancelled
LabFusion CI/CD Pipeline / integration-tests (push) Has been cancelled
LabFusion CI/CD Pipeline / security-scan (push) Has been cancelled
LabFusion CI/CD Pipeline / api-docs (push) Has been cancelled
LabFusion CI/CD Pipeline / frontend (push) Has been cancelled
Docker Build and Push / deploy-staging (push) Has been cancelled
Docker Build and Push / deploy-production (push) Has been cancelled
Docker Build and Push / security-scan (push) Has been cancelled
Docker Build and Push / build-and-push (push) Has been cancelled
Integration Tests / performance-tests (push) Has been cancelled
Integration Tests / integration-tests (push) Has been cancelled
Frontend (React) / lighthouse (push) Has been cancelled
Frontend (React) / security (push) Has been cancelled
Frontend (React) / test (18) (push) Has been cancelled
Frontend (React) / test (20) (push) Has been cancelled
Frontend (React) / build (push) Has been cancelled
Frontend (React) / test (16) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.1) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.11) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.12) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.9) (push) Has been cancelled
Service Adapters (Python FastAPI) / build (push) Has been cancelled
Service Adapters (Python FastAPI) / security (push) Has been cancelled
Some checks failed
API Docs (Node.js Express) / test (16) (push) Successful in 10m11s
API Docs (Node.js Express) / test (18) (push) Successful in 10m18s
API Docs (Node.js Express) / test (20) (push) Successful in 1m50s
LabFusion CI/CD Pipeline / api-gateway (push) Failing after 4m52s
LabFusion CI/CD Pipeline / service-adapters (push) Failing after 5m3s
API Docs (Node.js Express) / security (push) Has been cancelled
API Docs (Node.js Express) / build (push) Has been cancelled
LabFusion CI/CD Pipeline / integration-tests (push) Has been cancelled
LabFusion CI/CD Pipeline / security-scan (push) Has been cancelled
LabFusion CI/CD Pipeline / api-docs (push) Has been cancelled
LabFusion CI/CD Pipeline / frontend (push) Has been cancelled
Docker Build and Push / deploy-staging (push) Has been cancelled
Docker Build and Push / deploy-production (push) Has been cancelled
Docker Build and Push / security-scan (push) Has been cancelled
Docker Build and Push / build-and-push (push) Has been cancelled
Integration Tests / performance-tests (push) Has been cancelled
Integration Tests / integration-tests (push) Has been cancelled
Frontend (React) / lighthouse (push) Has been cancelled
Frontend (React) / security (push) Has been cancelled
Frontend (React) / test (18) (push) Has been cancelled
Frontend (React) / test (20) (push) Has been cancelled
Frontend (React) / build (push) Has been cancelled
Frontend (React) / test (16) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.1) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.11) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.12) (push) Has been cancelled
Service Adapters (Python FastAPI) / test (3.9) (push) Has been cancelled
Service Adapters (Python FastAPI) / build (push) Has been cancelled
Service Adapters (Python FastAPI) / security (push) Has been cancelled
This commit is contained in:
@@ -42,6 +42,16 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-node-${{ matrix.node-version }}-
|
${{ runner.os }}-node-${{ matrix.node-version }}-
|
||||||
${{ runner.os }}-node-
|
${{ runner.os }}-node-
|
||||||
|
${{ runner.os }}-
|
||||||
|
id: npm-cache
|
||||||
|
|
||||||
|
- name: Cache status
|
||||||
|
run: |
|
||||||
|
if [ "${{ steps.npm-cache.outputs.cache-hit }}" == "true" ]; then
|
||||||
|
echo "✅ Cache hit! Dependencies will be restored from cache."
|
||||||
|
else
|
||||||
|
echo "❌ Cache miss. Dependencies will be downloaded fresh."
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -95,14 +105,12 @@ jobs:
|
|||||||
flags: api-docs
|
flags: api-docs
|
||||||
name: api-docs-coverage
|
name: api-docs-coverage
|
||||||
|
|
||||||
- name: Upload test results
|
- name: Test results summary
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
run: |
|
||||||
name: test-results-node-${{ matrix.node-version }}
|
echo "Test results available in pipeline logs"
|
||||||
path: |
|
echo "Coverage report: services/api-docs/coverage/"
|
||||||
services/api-docs/coverage/
|
echo "Jest test results: services/api-docs/test-results/"
|
||||||
services/api-docs/test-results/
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-node-${{ matrix.node-version }}-
|
${{ runner.os }}-node-${{ matrix.node-version }}-
|
||||||
${{ runner.os }}-node-
|
${{ runner.os }}-node-
|
||||||
|
${{ runner.os }}-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -76,14 +77,12 @@ jobs:
|
|||||||
flags: frontend
|
flags: frontend
|
||||||
name: frontend-coverage
|
name: frontend-coverage
|
||||||
|
|
||||||
- name: Upload test results
|
- name: Test results summary
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
run: |
|
||||||
name: test-results-frontend-node-${{ matrix.node-version }}
|
echo "Test results available in pipeline logs"
|
||||||
path: |
|
echo "Coverage report: frontend/coverage/"
|
||||||
frontend/coverage/
|
echo "Jest test results: frontend/test-results/"
|
||||||
frontend/test-results/
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -123,11 +122,10 @@ jobs:
|
|||||||
npm run build
|
npm run build
|
||||||
npm run build:analyze
|
npm run build:analyze
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Build artifacts summary
|
||||||
uses: actions/upload-artifact@v4
|
run: |
|
||||||
with:
|
echo "Build artifacts created in frontend/build/"
|
||||||
name: frontend-build
|
echo "Build analysis available in pipeline logs"
|
||||||
path: frontend/build/
|
|
||||||
|
|
||||||
- name: Build Docker image (test only)
|
- name: Build Docker image (test only)
|
||||||
run: docker build -t frontend:test .
|
run: docker build -t frontend:test .
|
||||||
@@ -141,11 +139,11 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Download build artifacts
|
- name: Build application for Lighthouse
|
||||||
uses: actions/download-artifact@v4
|
run: |
|
||||||
with:
|
cd frontend
|
||||||
name: frontend-build
|
npm ci
|
||||||
path: frontend/build/
|
npm run build
|
||||||
|
|
||||||
- name: Run Lighthouse CI
|
- name: Run Lighthouse CI
|
||||||
uses: treosh/lighthouse-ci-action@v10
|
uses: treosh/lighthouse-ci-action@v10
|
||||||
|
|||||||
@@ -42,13 +42,23 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pip-${{ matrix.python-version }}-
|
${{ runner.os }}-pip-${{ matrix.python-version }}-
|
||||||
${{ runner.os }}-pip-
|
${{ runner.os }}-pip-
|
||||||
|
${{ runner.os }}-
|
||||||
|
id: pip-cache
|
||||||
|
|
||||||
|
- name: Cache status
|
||||||
|
run: |
|
||||||
|
if [ "${{ steps.pip-cache.outputs.cache-hit }}" == "true" ]; then
|
||||||
|
echo "✅ Cache hit! Dependencies will be restored from cache."
|
||||||
|
else
|
||||||
|
echo "❌ Cache miss. Dependencies will be downloaded fresh."
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install -r requirements.txt
|
pip install --cache-dir ~/.cache/pip -r requirements.txt
|
||||||
pip install pytest pytest-cov pytest-asyncio httpx
|
pip install --cache-dir ~/.cache/pip pytest pytest-cov pytest-asyncio httpx
|
||||||
pip install flake8 black isort mypy bandit safety
|
pip install --cache-dir ~/.cache/pip flake8 black isort mypy bandit safety
|
||||||
|
|
||||||
- name: Run code formatting check
|
- name: Run code formatting check
|
||||||
run: |
|
run: |
|
||||||
@@ -80,16 +90,13 @@ jobs:
|
|||||||
flags: service-adapters
|
flags: service-adapters
|
||||||
name: service-adapters-coverage
|
name: service-adapters-coverage
|
||||||
|
|
||||||
- name: Upload test results
|
- name: Test results summary
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
run: |
|
||||||
name: test-results-python-${{ matrix.python-version }}
|
echo "Test results available in pipeline logs"
|
||||||
path: |
|
echo "Coverage report: services/service-adapters/coverage.xml"
|
||||||
services/service-adapters/coverage.xml
|
echo "HTML coverage: services/service-adapters/htmlcov/"
|
||||||
services/service-adapters/htmlcov/
|
echo "Security reports: bandit-report.json, safety-report.json"
|
||||||
services/service-adapters/bandit-report.json
|
|
||||||
services/service-adapters/safety-report.json
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -216,6 +216,7 @@ The modular structure allows for easy addition of new services:
|
|||||||
- [x] Fix Python formatting issues in CI/CD pipelines (Applied Black and isort formatting)
|
- [x] Fix Python formatting issues in CI/CD pipelines (Applied Black and isort formatting)
|
||||||
- [x] Update flake8 line length limit to 150 characters for better readability
|
- [x] Update flake8 line length limit to 150 characters for better readability
|
||||||
- [x] Create JavaScript/Node.js tests for API docs service and frontend
|
- [x] Create JavaScript/Node.js tests for API docs service and frontend
|
||||||
|
- [x] Fix Gitea Actions compatibility issues with artifact uploads
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
- [Project Specifications](specs.md)
|
- [Project Specifications](specs.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user