Skip to content

Commit 9e805d3

Browse files
v0.3.59: billing fixes, undo/redo, changelog, translations, start block deprecation, copilot refactor, deployment versioning, google vault
2 parents 5c92d5d + 67c993d commit 9e805d3

File tree

672 files changed

+85364
-7949
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

672 files changed

+85364
-7949
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 151 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 43 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -6,74 +6,53 @@ on:
66
pull_request:
77
branches: [main, staging]
88

9+
concurrency:
10+
group: ci-${{ github.ref }}
11+
cancel-in-progress: false
12+
913
jobs:
10-
test:
14+
test-build:
1115
name: Test and Build
12-
runs-on: ubuntu-latest
13-
14-
steps:
15-
- name: Checkout code
16-
uses: actions/checkout@v4
17-
18-
- name: Setup Bun
19-
uses: oven-sh/setup-bun@v2
20-
with:
21-
bun-version: latest
22-
23-
- name: Setup Node
24-
uses: actions/setup-node@v4
25-
with:
26-
node-version: latest
27-
28-
- name: Install dependencies
29-
run: bun install --frozen-lockfile
30-
31-
- name: Run tests with coverage
32-
env:
33-
NODE_OPTIONS: '--no-warnings'
34-
NEXT_PUBLIC_APP_URL: 'https://www.sim.ai'
35-
DATABASE_URL: 'postgresql://postgres:postgres@localhost:5432/simstudio'
36-
ENCRYPTION_KEY: '7cf672e460e430c1fba707575c2b0e2ad5a99dddf9b7b7e3b5646e630861db1c' # dummy key for CI only
37-
run: bun run test
16+
uses: ./.github/workflows/test-build.yml
17+
secrets: inherit
3818

39-
- name: Build application
40-
env:
41-
NODE_OPTIONS: '--no-warnings'
42-
NEXT_PUBLIC_APP_URL: 'https://www.sim.ai'
43-
DATABASE_URL: 'postgresql://postgres:postgres@localhost:5432/simstudio'
44-
STRIPE_SECRET_KEY: 'dummy_key_for_ci_only'
45-
STRIPE_WEBHOOK_SECRET: 'dummy_secret_for_ci_only'
46-
RESEND_API_KEY: 'dummy_key_for_ci_only'
47-
AWS_REGION: 'us-west-2'
48-
ENCRYPTION_KEY: '7cf672e460e430c1fba707575c2b0e2ad5a99dddf9b7b7e3b5646e630861db1c' # dummy key for CI only
49-
run: bun run build
50-
51-
- name: Upload coverage to Codecov
52-
uses: codecov/codecov-action@v5
53-
with:
54-
directory: ./apps/sim/coverage
55-
fail_ci_if_error: false
56-
verbose: true
19+
# Build and push images (ECR for staging, ECR + GHCR for main)
20+
build-images:
21+
name: Build Images
22+
needs: test-build
23+
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
24+
uses: ./.github/workflows/images.yml
25+
secrets: inherit
26+
permissions:
27+
contents: read
28+
packages: write
29+
id-token: write
30+
31+
# Deploy Trigger.dev (after builds complete)
32+
trigger-deploy:
33+
name: Deploy Trigger.dev
34+
needs: build-images
35+
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
36+
uses: ./.github/workflows/trigger-deploy.yml
37+
secrets: inherit
5738

39+
# Run database migrations (depends on build completion and trigger deployment)
5840
migrations:
5941
name: Apply Database Migrations
60-
runs-on: ubuntu-latest
42+
needs: [build-images, trigger-deploy]
43+
if: |
44+
always() &&
45+
github.event_name == 'push' &&
46+
(github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging') &&
47+
needs.build-images.result == 'success' &&
48+
needs.trigger-deploy.result == 'success'
49+
uses: ./.github/workflows/migrations.yml
50+
secrets: inherit
51+
52+
# Process docs embeddings if needed
53+
process-docs:
54+
name: Process Docs
55+
needs: migrations
6156
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
62-
needs: test
63-
steps:
64-
- name: Checkout code
65-
uses: actions/checkout@v4
66-
67-
- name: Setup Bun
68-
uses: oven-sh/setup-bun@v2
69-
with:
70-
bun-version: latest
71-
72-
- name: Install dependencies
73-
run: bun install
74-
75-
- name: Apply migrations
76-
working-directory: ./packages/db
77-
env:
78-
DATABASE_URL: ${{ github.ref == 'refs/heads/main' && secrets.DATABASE_URL || secrets.STAGING_DATABASE_URL }}
79-
run: bunx drizzle-kit migrate --config=./drizzle.config.ts
57+
uses: ./.github/workflows/docs-embeddings.yml
58+
secrets: inherit

.github/workflows/docs-embeddings.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
name: Process Docs Embeddings
22

33
on:
4-
push:
5-
branches: [main, staging]
6-
paths:
7-
- 'apps/docs/**'
4+
workflow_call:
85
workflow_dispatch: # Allow manual triggering
96

107
jobs:
118
process-docs-embeddings:
129
name: Process Documentation Embeddings
13-
runs-on: ubuntu-latest
10+
runs-on: blacksmith-4vcpu-ubuntu-2404
1411
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging'
1512

1613
steps:

.github/workflows/i18n.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permissions:
1414

1515
jobs:
1616
translate:
17-
runs-on: ubuntu-latest
17+
runs-on: blacksmith-4vcpu-ubuntu-2404
1818
if: github.actor != 'github-actions[bot]' # Prevent infinite loops
1919

2020
steps:
@@ -55,7 +55,7 @@ jobs:
5555
with:
5656
token: ${{ secrets.GH_PAT }}
5757
commit-message: "feat(i18n): update translations"
58-
title: "🌐 Auto-update translations"
58+
title: "feat(i18n): update translations"
5959
body: |
6060
## Summary
6161
Automated translation updates triggered by changes to documentation.
@@ -76,8 +76,10 @@ jobs:
7676
## Testing
7777
This PR includes automated translations for modified English documentation content:
7878
- 🇪🇸 Spanish (es) translations
79-
- 🇫🇷 French (fr) translations
79+
- 🇫🇷 French (fr) translations
8080
- 🇨🇳 Chinese (zh) translations
81+
- 🇯🇵 Japanese (ja) translations
82+
- 🇩🇪 German (de) translations
8183
8284
**What reviewers should focus on:**
8385
- Verify translated content accuracy and context
@@ -102,7 +104,7 @@ jobs:
102104
103105
verify-translations:
104106
needs: translate
105-
runs-on: ubuntu-latest
107+
runs-on: blacksmith-4vcpu-ubuntu-2404
106108
if: always() # Run even if translation fails
107109

108110
steps:
@@ -137,15 +139,21 @@ jobs:
137139
es_count=$(find content/docs/es -name "*.mdx" 2>/dev/null | wc -l || echo 0)
138140
fr_count=$(find content/docs/fr -name "*.mdx" 2>/dev/null | wc -l || echo 0)
139141
zh_count=$(find content/docs/zh -name "*.mdx" 2>/dev/null | wc -l || echo 0)
142+
ja_count=$(find content/docs/ja -name "*.mdx" 2>/dev/null | wc -l || echo 0)
143+
de_count=$(find content/docs/de -name "*.mdx" 2>/dev/null | wc -l || echo 0)
140144
141145
es_percentage=$((es_count * 100 / en_count))
142146
fr_percentage=$((fr_count * 100 / en_count))
143147
zh_percentage=$((zh_count * 100 / en_count))
148+
ja_percentage=$((ja_count * 100 / en_count))
149+
de_percentage=$((de_count * 100 / en_count))
144150
145151
echo "### Coverage Statistics" >> $GITHUB_STEP_SUMMARY
146152
echo "- **🇬🇧 English**: $en_count files (source)" >> $GITHUB_STEP_SUMMARY
147153
echo "- **🇪🇸 Spanish**: $es_count/$en_count files ($es_percentage%)" >> $GITHUB_STEP_SUMMARY
148154
echo "- **🇫🇷 French**: $fr_count/$en_count files ($fr_percentage%)" >> $GITHUB_STEP_SUMMARY
149155
echo "- **🇨🇳 Chinese**: $zh_count/$en_count files ($zh_percentage%)" >> $GITHUB_STEP_SUMMARY
156+
echo "- **🇯🇵 Japanese**: $ja_count/$en_count files ($ja_percentage%)" >> $GITHUB_STEP_SUMMARY
157+
echo "- **🇩🇪 German**: $de_count/$en_count files ($de_percentage%)" >> $GITHUB_STEP_SUMMARY
150158
echo "" >> $GITHUB_STEP_SUMMARY
151159
echo "🔄 **Auto-translation PR**: Check for new pull request with updated translations" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)