name: CI

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version: '18'
        cache: 'npm'

    - name: Setup Biome
      uses: biomejs/setup-biome@v2
      with:
        version: latest

    - name: Install dependencies
      run: npm ci

    - name: Check
      run: biome ci

    - name: Build Astro project
      run: npm run build
