name: Deploy into deno deploy on: push: branches: - master paths: - "client/web/**" - "client/shared/**" - "client/packages/design/**" workflow_dispatch: jobs: deploy: name: Deploy deno runs-on: ubuntu-latest permissions: id-token: write # Needed for auth with Deno Deploy contents: read # Needed to clone the repository steps: - name: Clone repository uses: actions/checkout@v3 - name: Install Deno uses: denoland/setup-deno@main with: deno-version: 1.18.2 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: lts/* - name: Cache pnpm modules uses: actions/cache@v2 with: path: ~/.pnpm-store key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}- - uses: pnpm/action-setup@v2.0.1 with: version: latest run_install: false - name: Install packages run: pnpm install --frozen-lockfile - name: Build step run: cd client/web && pnpm build env: SERVICE_URL: https://tailchat-nightly.moonrailgun.com - name: Copy Deno Entry run: cd client/web && cp ./scripts/deno-static-entry.ts ./dist/deno-static-entry.ts - name: Upload to Deno Deploy uses: denoland/deployctl@v1 with: project: "tailchat-nightly" # entrypoint: https://deno.land/std@0.202.0/http/file_server.ts entrypoint: deno-static-entry.ts root: "./client/web/dist"