Fixes https://tangled.org/samanthanguyen.me/drifting-starlight/issues/1
+96
-237
Diff
round #1
-78
.github/dependabot.yml
-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
-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
-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
+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
+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
+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
+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
+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
History
2 rounds
0 comments
samanthanguyen.me
submitted
#1
expand 0 comments
closed without merging
samanthanguyen.me
submitted
#0
1 commit
expand
collapse
ci: migrate from GitHub CI to Spindle CI