a homebrewed DnD campaign based in the Honkai: Star Rail universe
hsr honkaistarrail dnd

ci: migrate from GitHub CI to Spindle CI

+96 -237
-78
.github/dependabot.yml
··· 1 - # To get started with Dependabot version updates, you'll need to specify which 2 - # package ecosystems to update and where the package manifests are located. 3 - # Please see the documentation for all configuration options: 4 - # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 - 6 - version: 2 7 - updates: 8 - - package-ecosystem: 'npm' 9 - directory: '/' 10 - labels: 11 - - deps/js 12 - schedule: 13 - interval: 'monthly' 14 - commit-message: 15 - prefix: 'deps(npm):' 16 - groups: 17 - typescript: 18 - patterns: 19 - - 'node-modules-inspector' 20 - - 'typescript' 21 - - 'type-fest' 22 - - '@types/node' 23 - svelte: 24 - patterns: 25 - - 'bits-ui' 26 - - 'svelte' 27 - - 'svelte-*' 28 - - '@sveltejs/*' 29 - - 'mdsvex' 30 - - 'mode-watcher' 31 - - 'chromatic' 32 - - 'storybook' 33 - - '@storybook/*' 34 - - '@lucide/svelte' 35 - - '@tanstack/svelte-table' 36 - frontend-backend: 37 - patterns: 38 - - 'tailwind-*' 39 - - 'tailwindcss' 40 - - '@tailwindcss/*' 41 - - 'lightningcss' 42 - - 'lorem-ipsum' 43 - - 'supabase' 44 - - '@supabase/*' 45 - - 'zod' 46 - - 'wrangler' 47 - voidzero-vite: 48 - patterns: 49 - - 'eslint-plugin-svelte' 50 - - 'oxfmt' 51 - - 'oxlint' 52 - - 'oxlint-tsgolint' 53 - - 'publint' 54 - - 'playwright' 55 - - 'rolldown' 56 - - 'rolldown-vite' 57 - - 'rolldown-plugin-*' 58 - - 'vite' 59 - - 'vitest' 60 - - 'vitest-*' 61 - - '@vitest/*' 62 - - 'tsdown' 63 - open-pull-requests-limit: 4 64 - 65 - - package-ecosystem: 'github-actions' 66 - directory: '/' 67 - labels: 68 - - deps/actions 69 - schedule: 70 - interval: 'daily' 71 - commit-message: 72 - prefix: 'deps(gha):' 73 - groups: 74 - github: 75 - patterns: 76 - - 'github/*' 77 - - 'actions/*' 78 - open-pull-requests-limit: 4
-78
.github/workflows/ci.yml
··· 1 - name: Node.js CI 2 - 3 - on: 4 - push: 5 - branches: 6 - - main 7 - pull_request: 8 - branches: 9 - - main 10 - workflow_dispatch: 11 - 12 - concurrency: 13 - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} 14 - cancel-in-progress: true 15 - 16 - jobs: 17 - build: 18 - name: build 19 - runs-on: ubuntu-latest 20 - steps: 21 - - name: Checkout repository 22 - uses: actions/checkout@v6 23 - - name: Install pnpm 24 - uses: pnpm/action-setup@v4 25 - with: 26 - version: 10 27 - - name: Install Node.js 28 - uses: actions/setup-node@v6 29 - with: 30 - node-version: latest 31 - cache: 'pnpm' 32 - - name: Install dependencies 33 - run: pnpm install --verbose 34 - - name: Build packages 35 - run: pnpm run build 36 - env: 37 - PUBLIC_SUPABASE_URL: ${{ secrets.PUBLIC_SUPABASE_URL }} 38 - PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PUBLIC_SUPABASE_ANON_KEY }} 39 - PUBLIC_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.PUBLIC_SUPABASE_PUBLISHABLE_KEY }} 40 - DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }} 41 - DISCORD_CLIENT_SECRET: ${{ secrets.DISCORD_CLIENT_SECRET }} 42 - - name: Run tests 43 - run: pnpm run test-ci 44 - 45 - codequality: 46 - name: codequality (${{ matrix.tool }}) 47 - runs-on: ubuntu-latest 48 - strategy: 49 - matrix: 50 - # - tool: used for job name + running `npx {{tool}} --version` 51 - # - tool-purpose: used for job-step name via `Run {{tool-purpose}} checks` 52 - # - npm-script: used for running the actual command via `npm run {{npm-script}}` 53 - include: 54 - - tool: oxfmt 55 - tool-purpose: formatter 56 - npm-script: fmt-ci 57 - 58 - - tool: oxlint 59 - tool-purpose: linter 60 - npm-script: lint 61 - steps: 62 - - name: Checkout repository 63 - uses: actions/checkout@v6 64 - - name: Install pnpm 65 - uses: pnpm/action-setup@v4 66 - with: 67 - version: 10 68 - - name: Install Node.js 69 - uses: actions/setup-node@v6 70 - with: 71 - node-version: latest 72 - cache: 'pnpm' 73 - - name: Install dependencies 74 - run: pnpm install --verbose 75 - - name: Print environment info 76 - run: pnpm dlx ${{ matrix.tool }} --version 77 - - name: Run ${{ matrix.tool-purpose }} checks 78 - run: pnpm run ${{ matrix.npm-script }}
-81
.github/workflows/deploy.yml
··· 1 - name: Deployment 2 - 3 - on: 4 - push: 5 - workflow_dispatch: 6 - 7 - concurrency: 8 - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} 9 - cancel-in-progress: true 10 - 11 - jobs: 12 - deploy-storybook: 13 - name: Deploy Storybook to Chromatic 14 - runs-on: ubuntu-latest 15 - steps: 16 - - name: Checkout repository 17 - uses: actions/checkout@v6 18 - with: 19 - fetch-depth: 0 20 - - name: Install pnpm 21 - uses: pnpm/action-setup@v4 22 - with: 23 - version: 10 24 - - name: Install Node.js 25 - uses: actions/setup-node@v6 26 - with: 27 - node-version: latest 28 - cache: 'pnpm' 29 - - name: Install dependencies 30 - run: pnpm install --verbose 31 - - name: Build packages 32 - run: pnpm run build 33 - env: 34 - PUBLIC_SUPABASE_URL: ${{ secrets.PUBLIC_SUPABASE_URL }} 35 - PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PUBLIC_SUPABASE_ANON_KEY }} 36 - PUBLIC_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.PUBLIC_SUPABASE_PUBLISHABLE_KEY }} 37 - DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }} 38 - DISCORD_CLIENT_SECRET: ${{ secrets.DISCORD_CLIENT_SECRET }} 39 - - name: Run Chromatic 40 - uses: chromaui/action@latest 41 - with: 42 - projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} 43 - workingDir: ./app 44 - onlyChanged: true 45 - 46 - deploy-app: 47 - runs-on: ubuntu-latest 48 - name: Deploy App to CloudFlare Workers 49 - environment: 50 - name: Drifting Starlight 51 - url: ${{ steps.deployment.outputs.deployment-url }} 52 - steps: 53 - - name: Checkout repository 54 - uses: actions/checkout@v6 55 - - name: Install pnpm 56 - uses: pnpm/action-setup@v4 57 - with: 58 - version: 10 59 - - name: Install Node.js 60 - uses: actions/setup-node@v6 61 - with: 62 - node-version: latest 63 - cache: 'pnpm' 64 - - name: Install dependencies 65 - run: pnpm install --verbose 66 - - name: Build packages 67 - run: pnpm run build 68 - env: 69 - PUBLIC_SUPABASE_URL: ${{ secrets.PUBLIC_SUPABASE_URL }} 70 - PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.PUBLIC_SUPABASE_ANON_KEY }} 71 - PUBLIC_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.PUBLIC_SUPABASE_PUBLISHABLE_KEY }} 72 - DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }} 73 - DISCORD_CLIENT_SECRET: ${{ secrets.DISCORD_CLIENT_SECRET }} 74 - - name: Deploy 75 - id: deployment 76 - uses: cloudflare/wrangler-action@v3 77 - with: 78 - apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} 79 - accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} 80 - gitHubToken: ${{ secrets.GITHUB_TOKEN }} 81 - wranglerVersion: '4.56.0'
+18
.tangled/workflows/codeqa-fmt.yml
··· 1 + when: 2 + - event: ['push', 'pull_request'] 3 + branch: ['main'] 4 + 5 + engine: 'nixery' 6 + 7 + dependencies: 8 + nixpkgs: 9 + - coreutils 10 + - gnused 11 + - nodejs_24 12 + - pnpm 13 + 14 + steps: 15 + - name: Install dependencies 16 + command: pnpm install --frozen-lockfile 17 + - name: Run formatter checks 18 + command: pnpm run fmt-ci
+18
.tangled/workflows/codeqa-lint.yml
··· 1 + when: 2 + - event: ['push', 'pull_request'] 3 + branch: ['main'] 4 + 5 + engine: 'nixery' 6 + 7 + dependencies: 8 + nixpkgs: 9 + - coreutils 10 + - gnused 11 + - nodejs_24 12 + - pnpm 13 + 14 + steps: 15 + - name: Install dependencies 16 + command: pnpm install --frozen-lockfile 17 + - name: Run linter checks 18 + command: pnpm run lint
+20
.tangled/workflows/deploy-preview.yml
··· 1 + when: 2 + - event: ['pull_request', 'manual'] 3 + branch: ['main'] 4 + 5 + engine: 'nixery' 6 + 7 + dependencies: 8 + nixpkgs: 9 + - coreutils 10 + - gnused 11 + - nodejs_24 12 + - pnpm 13 + 14 + steps: 15 + - name: Install dependencies 16 + command: pnpm install --frozen-lockfile 17 + - name: Build packages 18 + command: pnpm run build 19 + - name: Deploy (preview) 20 + command: pnpx wrangler versions upload
+20
.tangled/workflows/deploy-prod.yml
··· 1 + when: 2 + - event: ['push', 'manual'] 3 + branch: ['main'] 4 + 5 + engine: 'nixery' 6 + 7 + dependencies: 8 + nixpkgs: 9 + - coreutils 10 + - gnused 11 + - nodejs_24 12 + - pnpm 13 + 14 + steps: 15 + - name: Install dependencies 16 + command: pnpm install --frozen-lockfile 17 + - name: Build packages 18 + command: pnpm run build 19 + - name: Deploy (production) 20 + command: pnpx wrangler deploy
+20
.tangled/workflows/test.yml
··· 1 + when: 2 + - event: ['push', 'pull_request'] 3 + branch: ['main'] 4 + 5 + engine: 'nixery' 6 + 7 + dependencies: 8 + nixpkgs: 9 + - coreutils 10 + - gnused 11 + - nodejs_24 12 + - pnpm 13 + 14 + steps: 15 + - name: Install dependencies 16 + command: pnpm install --frozen-lockfile 17 + - name: Build packages 18 + command: pnpm run build 19 + - name: Run tests 20 + command: pnpm run test