41 lines
		
	
	
		
			819 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			819 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Build and Test
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - v4-alpha # TODO: update
 | 
						|
 | 
						|
jobs:
 | 
						|
  build-and-test:
 | 
						|
    runs-on: [windows-latest, macos-13, ubuntu-22.04]
 | 
						|
    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
 | 
						|
        run: npx quartz build
 |