mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Update frontend CI/CD workflow (#703)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							944328625a
						
					
				
				
					commit
					259203ee51
				
			
							
								
								
									
										79
									
								
								.github/workflows/deploy-pages.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										79
									
								
								.github/workflows/deploy-pages.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,79 +0,0 @@
 | 
				
			|||||||
# Sample workflow for building and deploying a Next.js site to GitHub Pages
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# To get started with Next.js see: https://nextjs.org/docs/getting-started
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
name: Deploy Next.js site to Pages
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  push:
 | 
					 | 
				
			||||||
    branches: ["main"]
 | 
					 | 
				
			||||||
    paths:
 | 
					 | 
				
			||||||
      - frontend/**
 | 
					 | 
				
			||||||
      - json/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  workflow_dispatch:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
permissions:
 | 
					 | 
				
			||||||
  contents: read
 | 
					 | 
				
			||||||
  pages: write
 | 
					 | 
				
			||||||
  id-token: write
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
concurrency:
 | 
					 | 
				
			||||||
  group: "pages"
 | 
					 | 
				
			||||||
  cancel-in-progress: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  build:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    defaults:
 | 
					 | 
				
			||||||
      run:
 | 
					 | 
				
			||||||
        working-directory: frontend  # Set default working directory for all run steps
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
      - name: Detect package manager
 | 
					 | 
				
			||||||
        id: detect-package-manager
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          if [ -f "${{ github.workspace }}/frontend/yarn.lock" ]; then
 | 
					 | 
				
			||||||
            echo "manager=yarn" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
            echo "command=install" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
            echo "runner=yarn" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
            exit 0
 | 
					 | 
				
			||||||
          elif [ -f "${{ github.workspace }}/frontend/package.json" ]; then
 | 
					 | 
				
			||||||
            echo "manager=npm" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
            echo "command=ci" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
            echo "runner=npx --no-install" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
            exit 0
 | 
					 | 
				
			||||||
          else
 | 
					 | 
				
			||||||
            echo "Unable to determine package manager"
 | 
					 | 
				
			||||||
            exit 1
 | 
					 | 
				
			||||||
          fi
 | 
					 | 
				
			||||||
      - name: Setup Node
 | 
					 | 
				
			||||||
        uses: actions/setup-node@v4
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          node-version: "20"
 | 
					 | 
				
			||||||
          cache: ${{ steps.detect-package-manager.outputs.manager }}
 | 
					 | 
				
			||||||
          cache-dependency-path: frontend/package-lock.json  # Specify the path to package-lock.json
 | 
					 | 
				
			||||||
      - name: Setup Pages
 | 
					 | 
				
			||||||
        uses: actions/configure-pages@v5
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          static_site_generator: next
 | 
					 | 
				
			||||||
      - name: Install dependencies
 | 
					 | 
				
			||||||
        run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} --legacy-peer-deps
 | 
					 | 
				
			||||||
      - name: Build with Next.js
 | 
					 | 
				
			||||||
        run: ${{ steps.detect-package-manager.outputs.runner }} next build
 | 
					 | 
				
			||||||
      - name: Upload artifact
 | 
					 | 
				
			||||||
        uses: actions/upload-pages-artifact@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          path: frontend/out
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  deploy:
 | 
					 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      name: github-pages
 | 
					 | 
				
			||||||
      url: ${{ steps.deployment.outputs.page_url }}
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    needs: build
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Deploy to GitHub Pages
 | 
					 | 
				
			||||||
        id: deployment
 | 
					 | 
				
			||||||
        uses: actions/deploy-pages@v4
 | 
					 | 
				
			||||||
							
								
								
									
										78
									
								
								.github/workflows/frontend-cicd.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								.github/workflows/frontend-cicd.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name: Frontend CI/CD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches: ["main"]
 | 
				
			||||||
 | 
					    paths:
 | 
				
			||||||
 | 
					      - frontend/**
 | 
				
			||||||
 | 
					      - json/**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches: ["main"]
 | 
				
			||||||
 | 
					    types: [opened, synchronize, reopened, edited]
 | 
				
			||||||
 | 
					    paths:
 | 
				
			||||||
 | 
					      - frontend/**
 | 
				
			||||||
 | 
					      - json/**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: read
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					concurrency:
 | 
				
			||||||
 | 
					  group: pages-${{ github.ref }}
 | 
				
			||||||
 | 
					  cancel-in-progress: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    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'
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
@@ -16,7 +16,7 @@
 | 
				
			|||||||
    "install_methods": [
 | 
					    "install_methods": [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        "type": "default",
 | 
					        "type": "default",
 | 
				
			||||||
        "script": "/ct/onedev.sh",
 | 
					        "script": "ct/onedev.sh",
 | 
				
			||||||
        "resources": {
 | 
					        "resources": {
 | 
				
			||||||
          "cpu": 2,
 | 
					          "cpu": 2,
 | 
				
			||||||
          "ram": 2048,
 | 
					          "ram": 2048,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user