48 lines
		
	
	
		
			988 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			988 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Build and Test
 | 
						|
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
    branches:
 | 
						|
      - v4
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - v4
 | 
						|
 | 
						|
jobs:
 | 
						|
  build-and-test:
 | 
						|
    if: ${{ github.repository == 'jackyzha0/quartz' }}
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        os: [windows-latest, macos-latest, ubuntu-latest]
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    permissions:
 | 
						|
      contents: write
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v3
 | 
						|
        with:
 | 
						|
          fetch-depth: 0
 | 
						|
 | 
						|
      - name: Setup Node
 | 
						|
        uses: actions/setup-node@v3
 | 
						|
        with:
 | 
						|
          node-version: 18
 | 
						|
 | 
						|
      - name: Cache dependencies
 | 
						|
        uses: actions/cache@v3
 | 
						|
        with:
 | 
						|
          path: ~/.npm
 | 
						|
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
 | 
						|
          restore-keys: |
 | 
						|
            ${{ runner.os }}-node-
 | 
						|
 | 
						|
      - run: npm ci
 | 
						|
 | 
						|
      - name: Check types and style
 | 
						|
        run: npm run check
 | 
						|
 | 
						|
      - name: Test
 | 
						|
        run: npm test
 | 
						|
 | 
						|
      - name: Ensure Quartz builds, check bundle info
 | 
						|
        run: npx quartz build --bundleInfo
 |