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ärkMillal käib
docs-scopeTuvasta ainult dokumentatsiooni muudatusedAlati
changed-scopeTuvasta, millised alad muutusid (node/macos/android)Mitte-dokumentatsiooni PR-id
checkTypeScript tüübid, lint, formaatMitte-dokumentatsiooni muudatused
check-docsMarkdown lint + katkilingi kontrollDokumentatsioon muutus
code-analysisLOC läve kontroll (1000 rida)Ainult PR-id
secretsTuvasta lekkinud saladusedAlati
build-artifactsEhita dist kord, jaga teiste töödegaMitte-dokumentatsioon, node muudatused
release-checkValideeri npm pack sisuPärast ehitamist
checksNode/Bun testid + protokolli kontrollMitte-dokumentatsioon, node muudatused
checks-windowsWindows-spetsiifilised testidMitte-dokumentatsioon, node muudatused
macosSwift lint/build/test + TS testidPR-id macOS muudatustega
androidGradle build + testidMitte-dokumentatsioon, android muudatused

Fail-Fast järjekord

Tööd on järjestatud nii, et odavad kontrollid ebaõnnestuvad enne kallite käivitamist:

  1. docs-scope + code-analysis + check (paralleelselt, ~1-2 min)
  2. build-artifacts (blokeeritud ülaltoodud järgi)
  3. checks, checks-windows, macos, android (blokeeritud ehitamisega)

Käivitajad

KäivitajaTööd
blacksmith-16vcpu-ubuntu-2404Enamik Linux töid, sealhulgas ulatuse tuvastamine
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Kohalikud ekvivalendid

bash
pnpm check          # tüübid + lint + formaat
pnpm test           # vitest testid
pnpm check:docs     # dokumentatsiooni formaat + lint + katkilingid
pnpm release:check  # valideeri npm pack