name: Lint and Build on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: self-hosted # Note: Node.js is pre-installed on self-hosted runners steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Clean NextJS cache run: rm -rf .next - name: Install dependencies run: npm ci - name: Run type check run: npm run type-check - name: Run linter run: npm run lint - name: Build project run: npm run build - name: Upload Build Artifact uses: actions/upload-artifact@v4 with: name: obs-ss-build include-hidden-files: 'true' path: ./.next/*