name: Build, Test, and Lint on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: jobs: build-test-lint: name: Build, Test, and Lint runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version-file: ".node-version" cache: "npm" - name: Install dependencies run: npm ci - name: Run linter run: npm run lint - name: Run tests run: npm run test:run - name: Build application run: npm run build