CI Pipeline
CI käib igal push'il main harusse ja igal pull request'il. See kasutab tarka ulatuse määramist, et vahele jätta kallid tööd, kui muudeti ainult dokumentatsiooni või natiivkoodi.
Tööde ülevaade
| Töö | Eesmärk | Millal käib |
|---|---|---|
docs-scope | Tuvasta ainult dokumentatsiooni muudatused | Alati |
changed-scope | Tuvasta, millised alad muutusid (node/macos/android) | Mitte-dokumentatsiooni PR-id |
check | TypeScript tüübid, lint, formaat | Mitte-dokumentatsiooni muudatused |
check-docs | Markdown lint + katkilingi kontroll | Dokumentatsioon muutus |
code-analysis | LOC läve kontroll (1000 rida) | Ainult PR-id |
secrets | Tuvasta lekkinud saladused | Alati |
build-artifacts | Ehita dist kord, jaga teiste töödega | Mitte-dokumentatsioon, node muudatused |
release-check | Valideeri npm pack sisu | Pärast ehitamist |
checks | Node/Bun testid + protokolli kontroll | Mitte-dokumentatsioon, node muudatused |
checks-windows | Windows-spetsiifilised testid | Mitte-dokumentatsioon, node muudatused |
macos | Swift lint/build/test + TS testid | PR-id macOS muudatustega |
android | Gradle build + testid | Mitte-dokumentatsioon, android muudatused |
Fail-Fast järjekord
Tööd on järjestatud nii, et odavad kontrollid ebaõnnestuvad enne kallite käivitamist:
docs-scope+code-analysis+check(paralleelselt, ~1-2 min)build-artifacts(blokeeritud ülaltoodud järgi)checks,checks-windows,macos,android(blokeeritud ehitamisega)
Käivitajad
| Käivitaja | Tööd |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | Enamik Linux töid, sealhulgas ulatuse tuvastamine |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Kohalikud ekvivalendid
bashpnpm check # tüübid + lint + formaat pnpm test # vitest testid pnpm check:docs # dokumentatsiooni formaat + lint + katkilingid pnpm release:check # valideeri npm pack