name: CI on: push: branches: [ main, master, feature/* ] pull_request: branches: [ main, master ] jobs: test: runs-on: self-hosted steps: - name: Checkout code uses: actions/checkout@v4 - name: Cache Next.js build uses: actions/cache@v3 with: path: | ~/.npm ${{ github.workspace }}/.next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} restore-keys: | ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}- - name: Install dependencies run: npm ci - name: Run linting run: npm run lint - name: Run type checking run: npm run typecheck - name: Build application run: npm run build env: # Use empty string for YOUTUBE_API_KEY during CI build YOUTUBE_API_KEY: ""