From a99b2b20b37b88eb20a0550bf45bba6cebc6a5a5 Mon Sep 17 00:00:00 2001 From: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com> Date: Tue, 8 Apr 2025 12:23:46 +0200 Subject: [PATCH] chore: add CI for prettier --- .github/workflows/ci.yml | 60 +++++++++++++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1ee51d3..ce3d91c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ permissions: contents: read jobs: - build: + setup: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -24,21 +24,55 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 - cache: "npm" + cache: 'npm' + + - name: Install Dependencies + id: install + run: npm ci + timeout-minutes: 2 - name: Cache node_modules uses: actions/cache@v4 with: - path: | - node_modules - */*/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- + path: node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} - - name: Install Dependencies - run: npm ci - timeout-minutes: 2 + format: + needs: setup + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Restore node_modules + uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} + + - name: Format Check + run: npm run format-check + env: + FORCE_COLOR: 1 + + test: + needs: setup + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Restore node_modules + uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} - name: Run Tests run: | @@ -47,13 +81,13 @@ jobs: NODE_ENV: test CI: true FORCE_COLOR: 1 - timeout-minutes: 15 + timeout-minutes: 10 - name: Upload Test Results if: always() uses: actions/upload-artifact@v4 with: - name: test-results-node + name: test-results path: | test-results coverage