name: Push to Main CI on: push: branches: - main permissions: contents: write packages: write jobs: build-and-package: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Deno uses: denoland/setup-deno@v2 with: deno-version: v2.x - name: Install Dependencies # Commands will run from 'packages/web' working-directory: packages/web run: deno install - name: Cache Deno dependencies uses: actions/cache@v4 with: path: | ~/.cache/deno packages/web/deno.lock key: ${{ runner.os }}-deno-${{ hashFiles('packages/web/deno.lock') }} restore-keys: | ${{ runner.os }}-deno- - name: Cache Dependencies working-directory: packages/web run: deno cache src/index.tsx - name: Run linter working-directory: packages/web run: deno task lint - name: Check formatter working-directory: packages/web run: deno task format --check - name: Run tests working-directory: packages/web run: deno task test - name: Build Package working-directory: packages/web run: deno task build