From 8afc63ef0be6008845c1dd67538fef3eb4df2ae5 Mon Sep 17 00:00:00 2001 From: denshooter Date: Sat, 13 Sep 2025 00:39:08 +0200 Subject: [PATCH] Separate CI/CD workflows for clarity - Split CI/CD into two distinct workflows: - 'Test and Build' for main branch (testing only) - 'CI/CD Pipeline' for production branch (full deployment) - Remove duplicate test-and-build job from production workflow - Each workflow now has a single, clear purpose - Eliminates confusion with multiple job views in Gitea --- .gitea/workflows/ci-cd.yml | 31 ---------------------- .gitea/workflows/test-and-build.yml | 40 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 31 deletions(-) create mode 100644 .gitea/workflows/test-and-build.yml diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index c08734d..aea5bf6 100644 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -12,37 +12,6 @@ env: CONTAINER_NAME: portfolio-app jobs: - # Single job that does everything for non-production branches - test-and-build: - runs-on: ubuntu-latest - if: github.ref != 'refs/heads/production' - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Run linting - run: npm run lint - - - name: Run tests - run: npm run test - - - name: Build application - run: npm run build - - - name: Run security scan - run: | - echo "🔍 Running npm audit..." - npm audit --audit-level=high || echo "⚠️ Some vulnerabilities found, but continuing..." - # Production deployment pipeline production: runs-on: ubuntu-latest diff --git a/.gitea/workflows/test-and-build.yml b/.gitea/workflows/test-and-build.yml new file mode 100644 index 0000000..5beade7 --- /dev/null +++ b/.gitea/workflows/test-and-build.yml @@ -0,0 +1,40 @@ +name: Test and Build + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +env: + NODE_VERSION: '20' + +jobs: + test-and-build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ env.NODE_VERSION }} + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run linting + run: npm run lint + + - name: Run tests + run: npm run test + + - name: Build application + run: npm run build + + - name: Run security scan + run: | + echo "🔍 Running npm audit..." + npm audit --audit-level=high || echo "⚠️ Some vulnerabilities found, but continuing..." \ No newline at end of file