name: CI on: # Triggers the workflow on push events and pull requests but only for the dev branch push: branches: [dev] pull_request: branches: [dev] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: jobs: build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 24 uses: actions/setup-node@v4 with: node-version: 24 cache: "npm" - name: Install npm dependencies run: npm ci - name: Build the production app run: npm run build lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 24 uses: actions/setup-node@v4 with: node-version: 24 cache: "npm" - name: Install npm dependencies run: npm ci - name: Run linter run: npm run lint:report prettier: name: Prettier runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 24 uses: actions/setup-node@v4 with: node-version: 24 cache: "npm" - name: Install npm dependencies run: npm ci - name: Run prettier check run: npm run format:report test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 24 uses: actions/setup-node@v4 with: node-version: 24 cache: "npm" - name: Install npm dependencies run: npm ci - name: Run tests run: npm run test check-docs: name: Check docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 24 uses: actions/setup-node@v4 with: node-version: 24 cache: "npm" - name: Install npm dependencies run: npm ci - name: Generate docs run: npm run doc - name: Check generated docs run: | test -z "$(git status --porcelain)" || (echo "::error title=Documentation is outdated::You need to run 'run npm doc'";exit 1;)