Skip to content

Commit 6cdbd72

Browse files
committed
Merge main into flow-builder
2 parents 1b5f73a + 0844aba commit 6cdbd72

2,524 files changed

Lines changed: 105693 additions & 20279 deletions

File tree

Some content is hidden

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

.claude/skills/localize/SKILL.md

Lines changed: 161 additions & 40 deletions
Large diffs are not rendered by default.

.claude/skills/product-manager/references/mobile-product-context.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ Initialize the SDK in your app delegate:
449449
450450
```swift
451451
// AppDelegate.swift
452-
func application(_ application: UIApplication,
452+
func application(_ application: UIApplication,
453453
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
454454
Adapty.activate("YOUR_API_KEY")
455455
return true

.env

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ PUBLIC_ALGOLIA_ANALYTICS_KEY=5e3fd9357b98f9f0d44bab0f0b7634c0
77
# Locale-specific Algolia indices
88
PUBLIC_ALGOLIA_INDEX_NAME_ZH=adapty_zh
99
PUBLIC_ALGOLIA_INDEX_NAME_TR=adapty_tr
10-
PUBLIC_ALGOLIA_INDEX_NAME_RU=adapty_ru
10+
PUBLIC_ALGOLIA_INDEX_NAME_RU=adapty_ru
11+
PUBLIC_ALGOLIA_INDEX_NAME_ES=adapty_es

.github/workflows/s3-deploy-development.yml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,18 @@ on:
44
branches:
55
- develop
66
jobs:
7+
lint-mdx:
8+
name: Lint MDX
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-node@v4
13+
with:
14+
node-version: 20
15+
- run: node scripts/lint-mdx.mjs
16+
717
build-en:
18+
needs: lint-mdx
819
runs-on: ubuntu-latest
920
concurrency:
1021
group: build-en-${{ github.workflow }}-${{ github.ref }}
@@ -30,12 +41,12 @@ jobs:
3041

3142
- name: Build English only
3243
env:
33-
NODE_OPTIONS: --max-old-space-size=6144
44+
NODE_OPTIONS: --max-old-space-size=8192
3445
run: npm run prebuild && ASTRO_TELEMETRY_DISABLED=1 BUILD_LOCALES=none npx astro build
3546

3647
- name: Generate markdown exports
3748
env:
38-
NODE_OPTIONS: --max-old-space-size=6144
49+
NODE_OPTIONS: --max-old-space-size=8192
3950
run: npm run build:md:prod
4051

4152
- uses: actions/upload-artifact@v4
@@ -45,10 +56,11 @@ jobs:
4556
retention-days: 1
4657

4758
build-locale:
59+
needs: lint-mdx
4860
runs-on: ubuntu-latest
4961
strategy:
5062
matrix:
51-
locale: [zh, tr, ru]
63+
locale: [zh, tr, ru, es]
5264
concurrency:
5365
group: build-locale-${{ matrix.locale }}-${{ github.workflow }}-${{ github.ref }}
5466
cancel-in-progress: true
@@ -73,9 +85,18 @@ jobs:
7385

7486
- name: Build locale ${{ matrix.locale }}
7587
env:
76-
NODE_OPTIONS: --max-old-space-size=6144
88+
NODE_OPTIONS: --max-old-space-size=8192
7789
run: npm run prebuild && ASTRO_TELEMETRY_DISABLED=1 BUILD_LOCALES=${{ matrix.locale }} npx astro build
7890

91+
# Generate locale .md / llms.txt / llms-full.txt exports into
92+
# build/${{ matrix.locale }}/ so they land in the artifact alongside
93+
# the Astro HTML pages.
94+
- name: Generate locale markdown exports
95+
env:
96+
NODE_OPTIONS: --max-old-space-size=8192
97+
BUILD_LOCALES: ${{ matrix.locale }}
98+
run: npm run build:md:prod
99+
79100
- uses: actions/upload-artifact@v4
80101
with:
81102
name: build-${{ matrix.locale }}
@@ -117,6 +138,11 @@ jobs:
117138
name: build-ru
118139
path: build/ru/
119140

141+
- uses: actions/download-artifact@v4
142+
with:
143+
name: build-es
144+
path: build/es/
145+
120146
- name: Deploy
121147
uses: reggionick/s3-deploy@v4
122148
with:

.github/workflows/s3-deploy-production.yml

Lines changed: 74 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,42 @@ jobs:
5555
- run: npm install github-slugger
5656
- run: node scripts/check-links/index.mjs --diff --base=last-production-deploy --internal-only
5757

58+
# Fast-fail static checks for translator-introduced regressions
59+
# (missing blank line after imports, missing client:load imports).
60+
# Gates both content and translation-only deploy paths.
61+
lint-mdx:
62+
name: Lint MDX
63+
runs-on: ubuntu-latest
64+
steps:
65+
- uses: actions/checkout@v4
66+
- uses: actions/setup-node@v4
67+
with:
68+
node-version: 20
69+
- run: node scripts/lint-mdx.mjs
70+
71+
# MDX parse sweep: compiles every .mdx file with the same remark plugins
72+
# Astro uses, surfaces every parse error in one pass. Astro's locale
73+
# builds halt at the first error, so without this gate broken files
74+
# stay hidden behind whichever one CI happens to hit first.
75+
check-mdx-parse:
76+
name: Check MDX parse
77+
runs-on: ubuntu-latest
78+
steps:
79+
- uses: actions/checkout@v4
80+
- uses: actions/setup-node@v4
81+
with:
82+
node-version: 20
83+
cache: 'npm'
84+
- run: npm ci
85+
env:
86+
PUPPETEER_SKIP_DOWNLOAD: '1'
87+
- run: node scripts/check-mdx-parse.mjs
88+
5889
# ──────────────────────────────────────────────────────────────
5990
# Full deploy: English + all locales (on content pushes)
6091
# ──────────────────────────────────────────────────────────────
6192
build-en:
62-
needs: check-internal-links
93+
needs: [check-internal-links, lint-mdx, check-mdx-parse]
6394
runs-on: ubuntu-latest
6495
concurrency:
6596
group: build-en-${{ github.workflow }}-${{ github.ref }}
@@ -85,12 +116,12 @@ jobs:
85116

86117
- name: Build English only
87118
env:
88-
NODE_OPTIONS: --max-old-space-size=6144
119+
NODE_OPTIONS: --max-old-space-size=8192
89120
run: npm run prebuild && ASTRO_TELEMETRY_DISABLED=1 BUILD_LOCALES=none npx astro build
90121

91122
- name: Generate markdown exports
92123
env:
93-
NODE_OPTIONS: --max-old-space-size=6144
124+
NODE_OPTIONS: --max-old-space-size=8192
94125
run: npm run build:md:prod
95126

96127
- uses: actions/upload-artifact@v4
@@ -100,11 +131,11 @@ jobs:
100131
retention-days: 1
101132

102133
build-locale-full:
103-
needs: check-internal-links
134+
needs: [check-internal-links, lint-mdx, check-mdx-parse]
104135
runs-on: ubuntu-latest
105136
strategy:
106137
matrix:
107-
locale: [zh, tr, ru]
138+
locale: [zh, tr, ru, es]
108139
concurrency:
109140
group: build-locale-full-${{ matrix.locale }}-${{ github.workflow }}-${{ github.ref }}
110141
cancel-in-progress: true
@@ -129,9 +160,19 @@ jobs:
129160

130161
- name: Build locale ${{ matrix.locale }}
131162
env:
132-
NODE_OPTIONS: --max-old-space-size=6144
163+
NODE_OPTIONS: --max-old-space-size=8192
133164
run: npm run prebuild && ASTRO_TELEMETRY_DISABLED=1 BUILD_LOCALES=${{ matrix.locale }} npx astro build
134165

166+
# Generate locale .md / llms.txt / llms-full.txt exports into
167+
# build/${{ matrix.locale }}/ so they're included in the artifact.
168+
# Without this, the translation-only deploy (aws s3 sync --delete)
169+
# wipes them from S3 on every translator commit.
170+
- name: Generate locale markdown exports
171+
env:
172+
NODE_OPTIONS: --max-old-space-size=8192
173+
BUILD_LOCALES: ${{ matrix.locale }}
174+
run: npm run build:md:prod
175+
135176
- uses: actions/upload-artifact@v4
136177
with:
137178
name: build-${{ matrix.locale }}
@@ -173,6 +214,11 @@ jobs:
173214
name: build-ru
174215
path: build/ru/
175216

217+
- uses: actions/download-artifact@v4
218+
with:
219+
name: build-es
220+
path: build/es/
221+
176222
- name: Deploy
177223
uses: reggionick/s3-deploy@v4
178224
with:
@@ -193,12 +239,12 @@ jobs:
193239
# Translation-only deploy: build + upload only locale dirs
194240
# ──────────────────────────────────────────────────────────────
195241
build-locale-only:
196-
needs: classify
242+
needs: [classify, lint-mdx, check-mdx-parse]
197243
if: needs.classify.outputs.translation_only == 'true'
198244
runs-on: ubuntu-latest
199245
strategy:
200246
matrix:
201-
locale: [zh, tr, ru]
247+
locale: [zh, tr, ru, es]
202248
concurrency:
203249
group: build-locale-only-${{ matrix.locale }}-${{ github.workflow }}-${{ github.ref }}
204250
cancel-in-progress: true
@@ -223,9 +269,20 @@ jobs:
223269

224270
- name: Build locale ${{ matrix.locale }}
225271
env:
226-
NODE_OPTIONS: --max-old-space-size=6144
272+
NODE_OPTIONS: --max-old-space-size=8192
227273
run: npm run prebuild && ASTRO_TELEMETRY_DISABLED=1 BUILD_LOCALES=${{ matrix.locale }} npx astro build
228274

275+
# Generate locale .md / llms.txt / llms-full.txt exports into
276+
# build/${{ matrix.locale }}/ so they land in the artifact. Required
277+
# because the deploy uses `aws s3 sync --delete`, which would
278+
# otherwise remove these files from S3 on every translation-only
279+
# update.
280+
- name: Generate locale markdown exports
281+
env:
282+
NODE_OPTIONS: --max-old-space-size=8192
283+
BUILD_LOCALES: ${{ matrix.locale }}
284+
run: npm run build:md:prod
285+
229286
- uses: actions/upload-artifact@v4
230287
with:
231288
name: build-tr-only-${{ matrix.locale }}
@@ -262,19 +319,25 @@ jobs:
262319
name: build-tr-only-ru
263320
path: build/ru/
264321

322+
- uses: actions/download-artifact@v4
323+
with:
324+
name: build-tr-only-es
325+
path: build/es/
326+
265327
# Sync locale directories to S3 using AWS CLI —
266-
# only overwrites zh/, tr/, and ru/ prefixes, leaves English untouched.
328+
# only overwrites zh/, tr/, ru/, and es/ prefixes, leaves English untouched.
267329
- name: Deploy translations to S3
268330
run: |
269331
aws s3 sync build/zh/ s3://${{ secrets.S3_BUCKET }}/zh/ --delete
270332
aws s3 sync build/tr/ s3://${{ secrets.S3_BUCKET }}/tr/ --delete
271333
aws s3 sync build/ru/ s3://${{ secrets.S3_BUCKET }}/ru/ --delete
334+
aws s3 sync build/es/ s3://${{ secrets.S3_BUCKET }}/es/ --delete
272335
273336
- name: Invalidate locale paths
274337
run: |
275338
aws cloudfront create-invalidation \
276339
--distribution-id ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} \
277-
--paths "/zh/*" "/tr/*" "/ru/*"
340+
--paths "/zh/*" "/tr/*" "/ru/*" "/es/*"
278341
279342
- name: Update deployment tag
280343
run: |

0 commit comments

Comments
 (0)