feat: update jacly #99
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [22.x, 24.x] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Checkout Jaculus-tools | |
| run: git clone https://github.com/jaculus-org/Jaculus-tools.git --branch feat/lib ../Jaculus-tools | |
| # - name: Checkout wokwi-cli | |
| # run: git clone https://github.com/JakubAndrysek/wokwi-cli.git --branch monorepo-separation ../wokwi-cli | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| version: latest | |
| - name: Build Jaculus-tools | |
| run: cd ../Jaculus-tools && pnpm install --frozen-lockfile && pnpm -r build | |
| # - name: Build wokwi-cli | |
| # run: cd ../wokwi-cli && pnpm install --frozen-lockfile && pnpm -r build | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Get pnpm store directory | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
| - name: Setup pnpm cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ env.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check formatting | |
| run: pnpm format:check | |
| - name: Run linter | |
| run: pnpm lint | |
| - name: Run type check | |
| run: pnpm type-check | |
| - name: Build packages | |
| run: pnpm build | |
| - name: Install Playwright Browsers | |
| run: pnpm --filter "@jaculus/jacly-web" exec playwright install --with-deps | |
| # Playwright tests | |
| - name: Run tests (also Playwright) | |
| run: pnpm test | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ !cancelled() }} | |
| with: | |
| name: playwright-report-web-${{ matrix.node-version }}-${{ github.run_number }} | |
| path: apps/web/playwright-report/ | |
| retention-days: 30 | |
| pre-commit: | |
| runs-on: ubuntu-latest | |
| name: Validate pre-commit hooks | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Checkout Jaculus-tools | |
| run: git clone https://github.com/jaculus-org/Jaculus-tools.git --branch feat/lib ../Jaculus-tools | |
| - name: Checkout wokwi-cli | |
| run: git clone https://github.com/JakubAndrysek/wokwi-cli.git --branch monorepo-separation ../wokwi-cli | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| version: latest | |
| - name: Build Jaculus-tools | |
| run: cd ../Jaculus-tools && pnpm install --frozen-lockfile && pnpm -r build | |
| - name: Build wokwi-cli | |
| run: cd ../wokwi-cli && pnpm install --frozen-lockfile && pnpm -r build | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24.x | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| version: latest | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright Browsers | |
| run: pnpm --filter "@jaculus/jacly-web" exec playwright install --with-deps | |
| - name: Run comprehensive CI check | |
| run: pnpm check-all | |
| - name: Run tests | |
| run: pnpm test |