feat: refine compact control geometry with StyleX #11
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
| # Deploys dowel.sh when the docs or the library change on main. | |
| # | |
| # Uses the karnstack org secret CLOUDFLARE_API_TOKEN. The secret is treated as | |
| # optional: without it the job skips rather than fails, so a fork's CI is not | |
| # a wall of red. | |
| name: deploy-docs | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "apps/docs/**" | |
| - "packages/dowel/**" | |
| - ".github/workflows/deploy-docs.yml" | |
| permissions: | |
| contents: read | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup toolchain (mise) | |
| uses: jdx/mise-action@v4 | |
| with: | |
| cache: true | |
| - name: Check for the deploy token | |
| id: token | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| run: | | |
| if [ -n "$CLOUDFLARE_API_TOKEN" ]; then | |
| echo "present=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "present=false" >> "$GITHUB_OUTPUT" | |
| echo "CLOUDFLARE_API_TOKEN is not set; skipping the deploy." | |
| fi | |
| - name: Install dependencies | |
| if: steps.token.outputs.present == 'true' | |
| run: pnpm install --frozen-lockfile | |
| - name: Build the library then the docs | |
| if: steps.token.outputs.present == 'true' | |
| run: | | |
| pnpm --filter dowel build | |
| pnpm --filter @dowel/docs build | |
| - name: Deploy | |
| if: steps.token.outputs.present == 'true' | |
| uses: cloudflare/wrangler-action@v3 | |
| with: | |
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| workingDirectory: apps/docs | |
| # The action picks a package manager by looking for a lockfile in | |
| # workingDirectory. apps/docs has none (the lockfile is at the repo | |
| # root), so it falls back to npm and npm chokes on the | |
| # "dowel": "workspace:*" dependency. Say pnpm explicitly. | |
| packageManager: pnpm | |
| # The action's bundled default predates wrangler v4 and cannot read | |
| # an assets-only config ("Missing entry-point"). Pin the major that | |
| # wrangler.jsonc is written for. wrangler ^4 is a devDependency of | |
| # apps/docs, so the version probe finds it and no install runs. | |
| wranglerVersion: "4" |