diff --git a/.claude/CI_FAILURES_CHECKLIST.md b/.claude/CI_FAILURES_CHECKLIST.md index 822424c2..6b0519e1 100644 --- a/.claude/CI_FAILURES_CHECKLIST.md +++ b/.claude/CI_FAILURES_CHECKLIST.md @@ -1,139 +1,136 @@ # CI WORKFLOW HATA ANALİZİ VE ÇÖZÜM CHECKLIST -**Tarih:** 2026-01-25 (Güncellendi) -**Analiz Edilen Run'lar:** Son 100 failed workflow +**Tarih:** 2026-01-26 (Güncellendi) +**Analiz Edilen Run'lar:** Son push (main branch) --- -## ÖZET: 6 KÖK NEDEN BULUNDU VE HEPSİ ÇÖZÜLDÜ ✅ +## ÖZET: 1 KÖK NEDEN - 5 WORKFLOW HATASI -| # | Kök Neden | Etkilenen Workflow Sayısı | Durum | -|---|-----------|---------------------------|-------| -| 1 | curl-sys OpenSSL 3.0.0 gereksinimi | 4+ | ✅ ÇÖZÜLDÜ | -| 2 | Cargo.lock güncel değil | 3+ | ✅ ÇÖZÜLDÜ | -| 3 | HOME dizin uyumsuzluğu (container) | 1 | ✅ ÇÖZÜLDÜ | -| 4 | serde_core wasm32 compile hatası | 1+ | ✅ ÇÖZÜLDÜ | -| 5 | WhereSection::_w UI test mismatch | 1 | ✅ ÇÖZÜLDÜ | -| 6 | EVM test repo referansları (harici) | 2 | ✅ ÇÖZÜLDÜ | -| 7 | Doc test compilation errors | 1+ | ✅ ÇÖZÜLDÜ | +| # | Workflow | Job | Durum | +|---|----------|-----|-------| +| 1 | Build and push images | build-test-collators | ❌ BAŞARISIZ | +| 2 | tests misc | test-node-metrics | ❌ BAŞARISIZ | +| 3 | Checks | cargo-clippy | ❌ BAŞARISIZ | +| 4 | EVM test suite | evm-test-suite (test:evm) | ❌ BAŞARISIZ | +| 5 | EVM test suite | All test misc tests passed | ❌ BAŞARISIZ (bağımlılık) | --- -## HATA 1: curl-sys OpenSSL 3.0.0 Gereksinimi ✅ ÇÖZÜLDÜ +## KÖK NEDEN ANALİZİ -### KALICI ÇÖZÜM UYGULANDI: -**OpenSSL bağımlılığı tamamen kaldırıldı - isahc → reqwest (rustls-tls) migration** - -- OpenSSL bağımlılığını tamamen kaldırdı -- Pure Rust TLS (rustls) kullanıyor -- C derleme gereksinimi yok - -**Commit:** `e72f6ab579` - ---- - -## HATA 2: Cargo.lock Güncel Değil ✅ ÇÖZÜLDÜ - -**Commit:** Mainnet config ile birlikte güncellendi (`355aa642ed`) - ---- - -## HATA 3: HOME Dizin Uyumsuzluğu (Container) ✅ ÇÖZÜLDÜ - -**Commit:** `c24d6230b6` - ---- - -## HATA 4: serde_core wasm32 Compile Hatası ✅ ÇÖZÜLDÜ - -**Commit (serde fork):** `0a75fdd8` -**Commit (pezkuwi-sdk):** `7cc45454ff` - ---- - -## HATA 5: WhereSection::_w UI Test Mismatch ✅ ÇÖZÜLDÜ - -**Test:** `TRYBUILD=overwrite cargo test -p pezframe-support-test --test construct_runtime_ui` -**Sonuç:** Test geçiyor, stderr dosyaları güncel - ---- - -## HATA 6: EVM Test Suite Repository Referansları ✅ ÇÖZÜLDÜ - -**Commit:** paritytech referansları korundu - ---- - -## HATA 7: Doc Test Compilation Errors ✅ ÇÖZÜLDÜ - -**Commit:** `ce729f6283` - -Düzeltilen doc testler: -- pezframe/src/lib.rs - import düzeltildi + documented ignore -- pezframe-election-provider-solution-type - circular dependency documented ignore -- pezframe-support/Cargo.toml - pezsp-timestamp dev-dependency eklendi -- pezframe-support-procedural - circular dependency documented ignore -- pezkuwi-subxt - metadata mismatch documented ignore - ---- - -## LOKAL DOĞRULAMA ✅ - -**Çalıştırılan Komutlar:** - -```bash -# Clippy (CI komutu ile aynı) -SKIP_WASM_BUILD=1 cargo clippy --all-targets --all-features --locked --workspace -# Sonuç: Finished ✅ - -# UI Test -TRYBUILD=overwrite cargo test -p pezframe-support-test --test construct_runtime_ui -# Sonuç: ok. 1 passed ✅ - -# Doc Tests -cargo test --doc -p pezframe -p pezframe-support -p pezkuwi-subxt -# Sonuç: ok. 104 passed, 0 failed ✅ - -# Workspace Check -SKIP_WASM_BUILD=1 cargo check --workspace -# Sonuç: Finished ✅ - -# check-try-runtime (CI komutu ile aynı) -SKIP_WASM_BUILD=1 cargo check --locked --all --features try-runtime --quiet -# Sonuç: EXIT CODE 0 ✅ - -# cargo-check-all-benches (CI komutu ile aynı) -SKIP_WASM_BUILD=1 cargo check --workspace --benches --features runtime-benchmarks --quiet -# Sonuç: EXIT CODE 0 ✅ -# Düzeltmeler: -# - StorageCmd cfg: runtime-benchmarks → storage-benchmark -# - enable_metadata_hash_in_wasm_builder: cfg(feature = "metadata-hash") eklendi -# - Cargo.toml: storage-benchmark ve metadata-hash feature'ları eklendi -``` - ---- - -## COMMIT GEÇMİŞİ (Bu Oturum) +**TÜM HATALAR AYNI SORUNDAN KAYNAKLIYOR:** ``` -8630b02d3a docs: update session log with today's changes -c8021df450 chore: add generated files to .gitignore -5c39914ae8 feat: add chain-spec-tool and usdt-bridge utilities -8362d67879 chore: remove obsolete zombienet config files -355aa642ed feat: add pezkuwichain mainnet configuration -ce729f6283 fix: doc test compilation errors with documented ignores +error[E0152]: duplicate lang item in crate `alloc` (which `serde_core` depends on): `exchange_malloc` ``` +### Neden Oluşuyor? + +1. CI Docker image'larında `wasm32v1-none` target yüklü DEĞİL +2. wasm-builder fallback olarak `wasm32-unknown-unknown` + `-Z build-std=core,alloc` kullanıyor +3. Bu durumda: + - Standard library'nin kendi `alloc` crate'i var + - `-Z build-std` ayrıca bir `alloc` crate'i build ediyor + - İki farklı `alloc` = duplicate lang item hatası + +### Neden serde Fork'u Yeterli Değil? + +- serde fork'umuz (`fix-wasm32v1-none` branch) **wasm32v1-none** target için düzeltilmiş +- Ancak **wasm32-unknown-unknown + build-std** senaryosu farklı +- wasm32v1-none yüklenirse, wasm-builder bu target'i kullanır ve `-Z build-std` KULLANMAZ +- Problem çözülür + --- -## PUSH HAZIR ✅ +## ÇÖZÜM: wasm32v1-none Target Kurulumu -Tüm CI hataları düzeltildi ve lokal testler geçiyor. Push edilebilir: +**Etkilenen workflow dosyalarına `rustup target add wasm32v1-none` eklenecek:** -```bash -git push origin main -``` +### Dosya 1: `.github/workflows/build-publish-images.yml` +- `build-test-collators` job'ına target kurulumu ekle + +### Dosya 2: `.github/workflows/tests-misc.yml` +- `test-node-metrics` job'ını etkileyen WASM build'ler için target kurulumu ekle +- `test-deterministic-wasm` job'ına target kurulumu ekle + +### Dosya 3: `.github/workflows/checks.yml` +- `cargo-clippy` job'ına target kurulumu ekle (zombienet-sdk-tests WASM build) + +### Dosya 4: `.github/workflows/tests-evm.yml` +- EVM test'leri için target kurulumu ekle --- -*Bu checklist tamamlandı. CI workflow'ları artık geçmeli.* +## HATA DETAYLARI + +### HATA 1: build-test-collators + +**Log:** +``` +error[E0152]: duplicate lang item in crate `alloc` (which `serde_core` depends on): `exchange_malloc` += note: first definition in `alloc` loaded from wasm32-unknown-unknown/lib/liballoc-81e4e4ffae91d46d.rlib += note: second definition in `alloc` loaded from target/testnet/wbuild/test-teyrchain-adder/target/wasm32-unknown-unknown/release/deps/liballoc-21f70be7f9695a73.rmeta +``` + +**Çözüm:** `rustup target add wasm32v1-none` ekle + +### HATA 2: test-node-metrics + +**Log:** +``` +error[E0152]: duplicate lang item in crate `alloc` (which `serde_core` depends on): `exchange_malloc` +``` + +**Çözüm:** `rustup target add wasm32v1-none` ekle + +### HATA 3: cargo-clippy + +**Log:** +``` +error[E0152]: duplicate lang item in crate `alloc` (which `serde_core` depends on): `exchange_malloc` += note: second definition in `alloc` loaded from target/debug/build/pezkuwi-zombienet-sdk-tests-981c0c2de47cd6a0/out/runtimes/x86_64-unknown-linux-gnu/release/wbuild/pezkuwichain-runtime/target/wasm32-unknown-unknown/release/deps/liballoc-b6b797d641a22516.rmeta + +thread 'main' panicked at pezkuwi/zombienet-sdk-tests/build.rs:92:42: +Failed to read WASM file: Os { code: 2, kind: NotFound, message: "No such file or directory" } +``` + +**Çözüm:** `rustup target add wasm32v1-none` ekle + +### HATA 4: evm-test-suite (test:evm) + +**Log:** +``` +error: (in promise) Error: No platform detected. Start the chain manually or use START_GETH or START_REVIVE_DEV_NODE and START_ETH_RPC to start the chain from the test runner. +``` + +**Kök Neden:** dev-node WASM build hatası nedeniyle başlatılamıyor +**Çözüm:** WASM build düzeltilince bu da düzelecek + +### HATA 5: All test misc tests passed + +**Kök Neden:** test-node-metrics başarısız olduğu için bağımlılık hatası +**Çözüm:** test-node-metrics düzeltilince bu da düzelecek + +--- + +## UYGULAMA PLANI + +1. [ ] `.github/workflows/build-publish-images.yml` - wasm32v1-none ekle +2. [ ] `.github/workflows/tests-misc.yml` - wasm32v1-none ekle +3. [ ] `.github/workflows/checks.yml` - wasm32v1-none ekle +4. [ ] `.github/workflows/tests-evm.yml` - wasm32v1-none ekle +5. [ ] Commit ve push +6. [ ] CI sonuçlarını bekle + +--- + +## NOTLAR + +- serde fork'u doğru kullanılıyor (Cargo.lock kontrol edildi) +- wasm32v1-none target kurulumu daha önce PR #346'da kaldırılmıştı +- Şimdi tekrar eklenmesi gerekiyor çünkü fallback mekanizması çalışmıyor + +--- + +*Son güncelleme: 2026-01-26 ~00:30 UTC* diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index a77a3581..7d883547 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -46,6 +46,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -99,6 +101,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -133,6 +137,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -169,6 +175,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -206,6 +214,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -242,6 +252,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -283,6 +295,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build id: required run: | @@ -324,6 +338,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build run: | cargo build --locked --profile testnet -p pezkuwi-test-malus --bin malus --bin pezkuwi-prepare-worker --bin pezkuwi-execute-worker @@ -354,6 +370,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build run: | cargo nextest --manifest-path pezkuwi/zombienet-sdk-tests/Cargo.toml archive --locked --features zombie-metadata,zombie-ci --archive-file pezkuwi-zombienet-tests.tar.zst @@ -384,6 +402,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build run: | cargo nextest --manifest-path pezcumulus/zombienet/zombienet-sdk/Cargo.toml archive --locked --features zombie-ci --archive-file pezcumulus-zombienet-tests.tar.zst @@ -411,6 +431,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none - name: build run: | cargo nextest --manifest-path templates/zombienet/Cargo.toml archive --locked --features zombienet --archive-file teyrchain-templates-zombienet-tests.tar.zst diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 07644bf0..157885bf 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -47,6 +47,9 @@ jobs: rm -rf ~/.cargo/git/db 2>/dev/null || true df -h + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none + - name: script id: required run: | diff --git a/.github/workflows/tests-misc.yml b/.github/workflows/tests-misc.yml index 38392755..b15d9c57 100644 --- a/.github/workflows/tests-misc.yml +++ b/.github/workflows/tests-misc.yml @@ -116,6 +116,9 @@ jobs: rm -rf ~/.cargo/registry/cache 2>/dev/null || true rm -rf ~/.cargo/git/db 2>/dev/null || true + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none + - name: script run: | # build runtime @@ -253,6 +256,9 @@ jobs: rm -rf ~/.cargo/registry/cache 2>/dev/null || true rm -rf ~/.cargo/git/db 2>/dev/null || true + - name: Add wasm32v1-none target + run: rustup target add wasm32v1-none + - name: Run tests id: tests env: