Ana içeriğe geç

Test ve yayın doğrulaması

Güncel paket release kapısı:

npm run release:verify

Bu zincir format ve metadata kontrolü, TypeScript type-check, temiz build, deterministik test, coverage eşiği, kaynak güvenlik kontrolü, secret kalıbı taraması, memory load regression ve packed tarball consumer denetimini çalıştırır.

Güncel yerel sonuç​

SonuçAdet
Test tanımı80
Dış servis olmadan geçen78
Başarısız0
Yerelde atlanan live-service testi2

İki servis testi PostgreSQL ve Redis gerektirir. CI geçici PostgreSQL 17 ve Redis 8 servisleri açıp bu testleri ayrı çalıştırır.

Coverage​

ÖlçümSonuçZorunlu eşik
Satır86.45%80%
Dal76.78%70%
Fonksiyon78.31%70%

Coverage bir release kapısıdır; tek başına güvenlik garantisi değildir. Yüzdeyi yükseltmek için davranışsız assertion eklemek yerine yarış, sahiplik, rollback ve transport sınırlarını test et.

Load regression​

Release harness, 10 eşzamanlılıkla 5.000 korumalı memory yazımını sıfır hatayla tamamladı. Kaydedilen çalışmada yaklaşık 14.848 işlem/saniye, p50 0,57 ms, p95 1,32 ms ve p99 3,52 ms ölçüldü.

Bu ölçüm network, PostgreSQL, Redis ve Discord gecikmesini içermez. Benzer donanımda regresyon karşılaştırması için kullanılır; production kapasite sözü değildir.

Packed consumer denetimi​

npm run pack:inspect gerçek npm tarball'ını üretir, içerik allowlist'ini denetler, lifecycle scriptleri kapalı boş bir projeye kurar, 16 public export yolunu import eder ve 3 CLI yardım komutunu çalıştırır.

Güncel packed artifact 146 dosya ve yaklaşık 439 kB unpacked içerik taşır. Kaynak kod, test, workflow, .env, source map, checksum ve dahili inceleme raporu bulunursa kontrol başarısız olur.

Bağımlılık kurulumu ve audit​

CI commit edilmiş lockfile'ı kullanmalıdır:

npm ci --ignore-scripts
npm audit --omit=dev

Production dependency audit şu anda sıfır zafiyet raporlar. Tam development audit de CI'da public npm audit endpoint'i üzerinden çalışmalıdır; npm audit API'sini sunmayan bir registry sonucu başarılı kabul edilemez.

Yayın​

GitHub release tag değeri, v ile paket sürümünün birleşimine eşit olmalıdır. Verify job tarball artifact üretir; publish job yalnızca bu artifact'i alır ve sürümün npm'de bulunmadığını doğruladıktan sonra npm Trusted Publishing/OIDC ile yayımlar.

Repository ayarları ayrıca tamamlanmalıdır: main koruması, zorunlu CI ve CodeQL, tam repository/workflow kimliğine bağlı npm trusted publisher ve gerekiyorsa onay korumalı npm environment.