name: Web CI on: push: branches: - main - master tags: - "web-*.*.*" paths: - "web/**" - "docker-compose.yml" - ".forgejo/workflows/web.yml" pull_request: paths: - "web/**" - "docker-compose.yml" - ".forgejo/workflows/web.yml" permissions: contents: read jobs: build-and-test: name: Build and test web app runs-on: ubuntu-latest timeout-minutes: 20 defaults: run: working-directory: web steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "20" - name: Install dependencies run: npm install --no-fund --no-audit - name: Run tests run: npm run test - name: Build app run: npm run build