Files
Kevin 44cd9ab001
Some checks failed
LogMaster CI/CD / build-and-test (push) Has been cancelled
LogMaster CI/CD / docker (push) Has been cancelled
Initial commit: LogMaster with Viewer Collector Monitor modes
2026-05-04 13:50:15 +02:00

65 lines
2.0 KiB
YAML

name: LogMaster CI/CD
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build (TypeScript compile)
run: npx tsc -p tsconfig.server.json
- name: Generate sample logs
run: node sample-logs/generate-logs.js
- name: Start services
run: |
LOG_MODE=collector PORT=8081 COLLECTOR_UDP_ENABLED=false node dist-server/server.js &
LOG_MODE=viewer PORT=9090 REMOTE_COLLECTOR_URL=http://localhost:8081 LOG_SOURCES=sample-logs/app.log,sample-logs/nginx-access.log,sample-logs/syslog,sample-logs/archived.log.gz node dist-server/server.js &
LOG_MODE=monitor PORT=8082 MONITOR_ENABLED=true node dist-server/server.js &
sleep 3
- name: Run integration tests
run: node run-all-tests.js
- name: Stop services
if: always()
run: pkill -f "node dist-server" || true
docker:
runs-on: ubuntu-latest
needs: build-and-test
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t logmaster:latest -t logmaster:${{ github.sha }} .
- name: Login to Gitea Registry
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.kgessner.de -u "${{ secrets.REGISTRY_USER }}" --password-stdin
- name: Tag and push
run: |
docker tag logmaster:latest git.kgessner.de/keviin/logmaster:latest
docker tag logmaster:${{ github.sha }} git.kgessner.de/keviin/logmaster:${{ github.sha }}
docker push git.kgessner.de/keviin/logmaster:latest
docker push git.kgessner.de/keviin/logmaster:${{ github.sha }}