Files
Jannis e6fee6e4e1
All checks were successful
Gitea CI-CD Pipeline / test (push) Successful in 21s
Gitea CI-CD Pipeline / build-and-deploy (push) Has been skipped
Gitea CI-CD Pipeline / test (pull_request) Successful in 22s
Gitea CI-CD Pipeline / build-and-deploy (pull_request) Has been skipped
changed if condition on the workflow
2026-05-03 23:11:22 +02:00

52 lines
1.2 KiB
YAML

name: Gitea CI-CD Pipeline
on:
push:
branches: [main, master, dev, dev_*]
pull_request:
branches: [main, master]
jobs:
# --- STAGE 1: TEST ---
test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Dependencies
run: npm ci
- name: Run Linter
run: npm run lint
- name: Run Tests
run: npm test
# --- STAGE 2: BUILD & PUBLISH (Only on Main) ---
build-and-deploy:
needs: test
if: gitea.ref == 'refs/heads/main' && gitea.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
# Example: Building a Docker Image and pushing to Gitea's internal registry
- name: Login to Gitea Registry
uses: docker/login-action@v3
with:
registry: gitea.starfour.de
username: ${{ gitea.actor }}
password: ${{ secrets.GITEA_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v5
with:
push: true
tags: gitea.starfour.de/${{ gitea.repository }}:latest