@@ -13,59 +13,107 @@ concurrency:
1313 cancel-in-progress : false
1414
1515jobs :
16- full-regression :
16+ frontend :
1717 runs-on : ubuntu-latest
18- timeout-minutes : 20
18+ timeout-minutes : 12
1919 steps :
20- - name : Checkout
21- uses : actions/checkout@v7
20+ - uses : actions/checkout@v7
21+ - uses : actions/setup-node@v7
22+ with :
23+ node-version : 24
24+ cache : npm
25+ - run : npm ci
26+ - name : Verify complete production frontend
27+ run : |
28+ npm run actions:scope:test
29+ npm run verify:frontend:production
2230
23- - name : Set up Node
24- uses : actions/setup-node@v7
31+ backend-foundation :
32+ runs-on : ubuntu-latest
33+ timeout-minutes : 12
34+ steps :
35+ - uses : actions/checkout@v7
36+ - uses : actions/setup-node@v7
2537 with :
2638 node-version : 24
2739 cache : npm
40+ - run : npm ci
41+ - run : npm run test:d1:core:foundation && npm run orbit:test:clients
2842
29- - name : Install dependencies
30- run : npm ci
43+ backend-site :
44+ runs-on : ubuntu-latest
45+ timeout-minutes : 12
46+ steps :
47+ - uses : actions/checkout@v7
48+ - uses : actions/setup-node@v7
49+ with :
50+ node-version : 24
51+ cache : npm
52+ - run : npm ci
53+ - run : npm run test:d1:core:site
3154
32- - name : Run the complete application regression
33- run : |
34- npm run actions:scope:test
35- npm run check
36- npm run build
37- npm run production:config:check
38- npm run worker:build:production:live
39- npm run contract:live
55+ backend-public :
56+ runs-on : ubuntu-latest
57+ timeout-minutes : 12
58+ steps :
59+ - uses : actions/checkout@v7
60+ - uses : actions/setup-node@v7
61+ with :
62+ node-version : 24
63+ cache : npm
64+ - run : npm ci
65+ - run : npm run test:d1:core:public
66+
67+ backend-publication :
68+ runs-on : ubuntu-latest
69+ timeout-minutes : 12
70+ steps :
71+ - uses : actions/checkout@v7
72+ - uses : actions/setup-node@v7
73+ with :
74+ node-version : 24
75+ cache : npm
76+ - run : npm ci
77+ - run : npm run test:d1:publication
78+
79+ backend-platform :
80+ runs-on : ubuntu-latest
81+ timeout-minutes : 12
82+ steps :
83+ - uses : actions/checkout@v7
84+ - uses : actions/setup-node@v7
85+ with :
86+ node-version : 24
87+ cache : npm
88+ - run : npm ci
89+ - run : npm run test:d1:platform
90+
91+ live-contract :
92+ runs-on : ubuntu-latest
93+ timeout-minutes : 8
94+ steps :
95+ - uses : actions/checkout@v7
96+ - uses : actions/setup-node@v7
97+ with :
98+ node-version : 24
99+ cache : npm
100+ - run : npm ci
101+ - name : Verify the live agent contract
102+ run : npm run contract:live
40103
41- # Staging provaları hiçbir yerde otomatik koşmuyordu ve bir tanesi üç
42- # hafta boyunca bozuk kaldı: sunucuya yeni bir yayın kısıtı girdi, betik
43- # ondan habersiz kaldı, kimse çalıştırmadığı için kimse görmedi.
44- #
45- # Bu iş staging'e YENİ KOD DAĞITMIYOR. Staging Samet'in elle kullandığı
46- # kapı; gece yarısı üzerine yazmak, sabah bakmak için bıraktığı şeyi
47- # silmek olurdu. Burada aranan şey provaların ürüne ayak uydurup
48- # uydurmadığı — bunun için o an staging'de ne varsa yeter.
49104 staging-rehearsal :
50- needs : full-regression
51105 runs-on : ubuntu-latest
52106 timeout-minutes : 30
53107 steps :
54108 - name : Checkout
55109 uses : actions/checkout@v7
56-
57110 - name : Set up Node
58111 uses : actions/setup-node@v7
59112 with :
60113 node-version : 24
61114 cache : npm
62-
63115 - name : Install dependencies
64116 run : npm ci
65-
66- # Eksik bir secret'ın hatası, provanın kendi hatasına benzemesin.
67- # Kimlik bilgisi olmadan düşen bir iş, gerçekten kırılmış bir
68- # sözleşmeyle karıştırılırsa görmezden gelinmeye başlar.
69117 - name : Verify the staging credentials are present
70118 env :
71119 CLOUDFLARE_API_TOKEN : ${{ secrets.CLOUDFLARE_API_TOKEN }}
@@ -77,32 +125,17 @@ jobs:
77125 [ -n "$CLOUDFLARE_API_TOKEN" ] || missing="$missing CLOUDFLARE_API_TOKEN"
78126 [ -n "$ORBIT_SESSION_PEPPER_V1" ] || missing="$missing ORBIT_STAGING_SESSION_PEPPER_V1"
79127 [ -n "$ORBIT_CSRF_PEPPER_V1" ] || missing="$missing ORBIT_STAGING_CSRF_PEPPER_V1"
80- [ -n "$ORBIT_AGENT_CREDENTIAL_PEPPER_V1" ] \
81- || missing="$missing ORBIT_STAGING_AGENT_CREDENTIAL_PEPPER_V1"
128+ [ -n "$ORBIT_AGENT_CREDENTIAL_PEPPER_V1" ] || missing="$missing ORBIT_STAGING_AGENT_CREDENTIAL_PEPPER_V1"
82129 if [ -n "$missing" ]; then
83130 echo "::error::Staging rehearsal cannot run. Missing repository secrets:$missing"
84131 exit 1
85132 fi
86-
87133 - name : Rehearse the staging contract
88134 env :
89135 CLOUDFLARE_API_TOKEN : ${{ secrets.CLOUDFLARE_API_TOKEN }}
90136 ORBIT_SESSION_PEPPER_V1 : ${{ secrets.ORBIT_STAGING_SESSION_PEPPER_V1 }}
91137 ORBIT_CSRF_PEPPER_V1 : ${{ secrets.ORBIT_STAGING_CSRF_PEPPER_V1 }}
92138 ORBIT_AGENT_CREDENTIAL_PEPPER_V1 : ${{ secrets.ORBIT_STAGING_AGENT_CREDENTIAL_PEPPER_V1 }}
93- # Buraya yalnız yeşil olduğu ölçülmüş provalar giriyor. Bir provayı
94- # kırmızı hâlde bağlamak, gecelik işi görmezden gelinen bir işe
95- # çevirir — düzeltmeye çalıştığımız sorunun ta kendisi.
96- #
97- # Bu yüzden slice2 ve slice3 provaları buraya eklenmedi, silindi:
98- # biri kaldırılmış bir API'ye bakıyordu, diğeri staging büyüdükçe
99- # kendi kendine bozulan sayılara. Kapsamın nereye düştüğü
100- # orbit-slice1-tests.ts ve orbit-slice3-tests.ts içinde,
101- # devraldıkları testin başında yazılı.
102- #
103- # Yeni bir staging betiği eklenirse ya buraya girer ya da elle
104- # çalışacağı orbit-production-config-tests.mjs'de açıkça beyan
105- # edilir; kilit ikisini de yapmadan geçmiyor.
106139 run : |
107140 npm run staging:verify
108141 npm run staging:slice4:e2e
0 commit comments