mirror of
				https://github.com/ITotalJustice/sphaira.git
				synced 2025-11-03 01:16:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Build and Deploy WebUSB Site
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    paths:
 | 
						|
      - 'tools/webusb/**'
 | 
						|
 | 
						|
jobs:
 | 
						|
  build-and-deploy:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout source
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Set up Node.js
 | 
						|
        uses: actions/setup-node@v4
 | 
						|
        with:
 | 
						|
          node-version: 20
 | 
						|
 | 
						|
      - name: Install minifiers
 | 
						|
        run: |
 | 
						|
          npm install -g html-minifier-terser terser csso-cli
 | 
						|
 | 
						|
      - name: Minify HTML
 | 
						|
        run: |
 | 
						|
          html-minifier-terser --collapse-whitespace --remove-comments --minify-css true --minify-js true -o tools/webusb/index.html.min tools/webusb/index.html
 | 
						|
 | 
						|
      - name: Minify JS
 | 
						|
        run: |
 | 
						|
          terser tools/webusb/index.js -c -m -o tools/webusb/index.js.min
 | 
						|
 | 
						|
      - name: Minify CSS
 | 
						|
        run: |
 | 
						|
          csso tools/webusb/index.css --output tools/webusb/index.css.min
 | 
						|
 | 
						|
      - name: Prepare deploy branch
 | 
						|
        run: |
 | 
						|
          rm -rf webusb
 | 
						|
          mkdir webusb
 | 
						|
          cp tools/webusb/index.html.min webusb/index.html
 | 
						|
          cp tools/webusb/index.js.min webusb/index.js
 | 
						|
          cp tools/webusb/index.css.min webusb/index.css
 | 
						|
          cp -r tools/webusb/assets webusb/assets
 | 
						|
 | 
						|
      - name: Commit and force-push to webusb branch
 | 
						|
        run: |
 | 
						|
          cd webusb
 | 
						|
          git init
 | 
						|
          git config user.name "github-actions[bot]"
 | 
						|
          git config user.email "github-actions[bot]@users.noreply.github.com"
 | 
						|
          git add .
 | 
						|
          git commit -m "Deploy minified webusb build"
 | 
						|
          git branch -M webusb
 | 
						|
          git remote add origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git"
 | 
						|
          git push --force origin webusb
 |