mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
		
			Generated
		
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
		
			Generated
		
	
	
# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml
 | 
						|
 | 
						|
name: Frontend CI/CD
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches: ["main"]
 | 
						|
    paths:
 | 
						|
      - frontend/**
 | 
						|
 | 
						|
  pull_request:
 | 
						|
    branches: ["main"]
 | 
						|
    types: [opened, synchronize, reopened, edited]
 | 
						|
    paths:
 | 
						|
      - frontend/**
 | 
						|
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
permissions:
 | 
						|
  contents: read
 | 
						|
 | 
						|
concurrency:
 | 
						|
  group: pages-${{ github.ref }}
 | 
						|
  cancel-in-progress: false
 | 
						|
 | 
						|
jobs:
 | 
						|
  build:
 | 
						|
    if: github.repository == 'community-scripts/ProxmoxVE'
 | 
						|
    runs-on: runner-cluster-htl-set
 | 
						|
    defaults:
 | 
						|
      run:
 | 
						|
        working-directory: frontend  # Set default working directory for all run steps
 | 
						|
    steps:
 | 
						|
      - name: Checkout
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Setup Node
 | 
						|
        uses: actions/setup-node@v4
 | 
						|
        with:
 | 
						|
          node-version: "20"
 | 
						|
          cache: npm
 | 
						|
          cache-dependency-path: frontend/package-lock.json
 | 
						|
 | 
						|
      - name: Install dependencies
 | 
						|
        run: npm ci --prefer-offline --legacy-peer-deps
 | 
						|
 | 
						|
      - name: Run tests
 | 
						|
        run: npm run test
 | 
						|
 | 
						|
      - name: Configure Next.js for pages
 | 
						|
        uses: actions/configure-pages@v5
 | 
						|
        with:
 | 
						|
          static_site_generator: next
 | 
						|
 | 
						|
      - name: Build with Next.js
 | 
						|
        run: npm run build
 | 
						|
 | 
						|
      - name: Upload artifact
 | 
						|
        if: github.ref == 'refs/heads/main'
 | 
						|
        uses: actions/upload-pages-artifact@v3
 | 
						|
        with:
 | 
						|
          path: frontend/out
 | 
						|
 | 
						|
  deploy:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    needs: build
 | 
						|
    if: github.ref == 'refs/heads/main' && github.repository == 'community-scripts/ProxmoxVE'
 | 
						|
    permissions:
 | 
						|
      pages: write
 | 
						|
      id-token: write
 | 
						|
    environment:
 | 
						|
      name: github-pages
 | 
						|
      url: ${{ steps.deployment.outputs.page_url }}
 | 
						|
    steps:
 | 
						|
      - name: Deploy to GitHub Pages
 | 
						|
        id: deployment
 | 
						|
        uses: actions/deploy-pages@v4
 |