Skip to content

docs: add screenshots to README #40

docs: add screenshots to README

docs: add screenshots to README #40

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [master, main, develop]
pull_request:
branches: [master, main]
permissions:
contents: read
security-events: write
env:
JAVA_VERSION: '21'
jobs:
# ============================================
# Build & Test
# ============================================
build:
name: Build & Test
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18-alpine
env:
POSTGRES_DB: testdb
POSTGRES_USER: test
POSTGRES_PASSWORD: ${{ secrets.CI_TEST_DB_PASSWORD || 'test_ci_ephemeral' }}
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mongodb:
image: mongo:8
ports:
- 27017:27017
options: >-
--health-cmd "mongosh --eval 'db.adminCommand({ping: 1})'"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: 'maven'
- name: Build with Maven
run: mvn clean compile -DskipTests -B
- name: Run tests in demo mode
run: mvn test -B -Ddemo.mode=true
env:
DEMO_MODE: true
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results
path: '**/target/surefire-reports/*.xml'
- name: Upload JaCoCo coverage reports
uses: actions/upload-artifact@v4
if: always()
with:
name: jacoco-reports
path: '**/target/site/jacoco/'
# ============================================
# Code Quality
# ============================================
code-quality:
name: Code Quality
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: 'maven'
- name: Check code compilation warnings
run: mvn clean compile -B
# ============================================
# Security Scan
# ============================================
security:
name: Security Scan
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
format: 'table'
exit-code: '1'
severity: 'CRITICAL'
ignore-unfixed: true
# ============================================
# Helm Chart Lint
# ============================================
helm-lint:
name: Helm Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Lint chart (default values)
run: helm lint helm/basestation-platform
- name: Lint chart (dev values)
run: helm lint helm/basestation-platform -f helm/basestation-platform/values-dev.yaml
- name: Lint chart (prod values)
run: helm lint helm/basestation-platform -f helm/basestation-platform/values-prod.yaml
- name: Template renders without errors
run: helm template basestation helm/basestation-platform > /dev/null