# Pezkuwi SDK - CI Workflow Düzeltme Planı > Bu dosya Claude oturumları arasında sürekliliği sağlamak için oluşturulmuştur. > Her oturum başında bu dosyayı oku ve kaldığın yerden devam et. ## Son Güncelleme - **Tarih:** 2024-12-23 - **Son Tamamlanan:** check-core-crypto-features, check-getting-started.yml template URL düzeltmesi - **Aktif Görev:** FAZ 1 - CI Yeşil Işık (try-runtime beklemede) --- ## DURUM TABLOSU ### checks.yml (3 job) | Job | Durum | Komut | Notlar | |-----|-------|-------|--------| | cargo-clippy | ✅ TAMAMLANDI | `RUSTFLAGS="-D warnings" SKIP_WASM_BUILD=1 cargo clippy --all-targets --all-features --locked --workspace --quiet` | 36 dosya düzeltildi | | check-try-runtime | ⚠️ BLOKLU | `cargo check --locked --all --features try-runtime` | WASM duplicate lang item sorunu - CI'da test edilmeli | | check-core-crypto-features | ✅ TAMAMLANDI | `check-features-variants.sh` | 3 script geçti (pezsp-core, application-crypto, keyring) | ### checks-quick.yml (10 job) | Job | Durum | Komut | Notlar | |-----|-------|-------|--------| | fmt | ✅ TAMAMLANDI | `cargo fmt --all -- --check` | rustfmt.toml stable-only yapıldı, 898 dosya formatlandı | | check-toml-format | ✅ TAMAMLANDI | `taplo format --check --config .config/taplo.toml` | 10 dosya düzeltildi | | check-zepter | ✅ TAMAMLANDI | `zepter run check` | 18 feature propagation düzeltildi | | check-workspace | ✅ TAMAMLANDI | `python3 .github/scripts/check-workspace.py .` | 606 crate, 6919 link doğrulandı | | check-dependency-rules | ✅ TAMAMLANDI | `python3 .github/scripts/deny-git-deps.py .` | Git deps path'e çevrildi | | check-umbrella | ✅ TAMAMLANDI | `python3 scripts/generate-umbrella.py` | Umbrella crate oluşturuldu | | test-rust-features | ✅ TAMAMLANDI | `.gitlab/rust-features.sh .` | Feature kontrolleri geçti | | check-markdown | ✅ TAMAMLANDI | `markdownlint --config .github/.markdownlint.yaml --ignore target .` | Markdown formatı OK | | check-fail-ci | ✅ TAMAMLANDI | `rg "FAIL-CI" --type rust` | FAIL-CI markerı yok | | check-readme | ✅ TAMAMLANDI | `.github/scripts/check-missing-readme-generation.sh` | README'ler güncel | ### check-links.yml (1 job) | Job | Durum | Komut | Notlar | |-----|-------|-------|--------| | link-checker | ✅ TAMAMLANDI | `lychee --config .config/lychee.toml './**/*.rs'` | 0 hata - 6747 OK, 2834 exclude | ### check-getting-started.yml (7 job) | Job | Durum | Notlar | |-----|-------|--------| | ubuntu/minimal | ✅ DÜZELTİLDİ | Template URL: pezkuwi-sdk-minimal-template | | debian/teyrchain | ✅ DÜZELTİLDİ | Template URL: pezkuwi-sdk-teyrchain-template | | arch/solochain | ✅ DÜZELTİLDİ | Template URL: pezkuwi-sdk-solochain-template | | fedora/teyrchain | ✅ DÜZELTİLDİ | Template URL düzeltildi | | opensuse/solochain | ✅ DÜZELTİLDİ | Template URL düzeltildi | | macos/teyrchain | ✅ DÜZELTİLDİ | Template URL düzeltildi | | macos/solochain | ✅ DÜZELTİLDİ | Template URL düzeltildi | **Düzeltme:** `getting-started.sh` → Template URL'leri `pezkuwichain/pezkuwi-sdk-{template}-template` olarak güncellendi. ### tests-misc.yml (11 job) | Job | Durum | Notlar | |-----|-------|--------| | test-full-crypto-feature | ✅ LOKAL OK | `cargo build --no-default-features --features full_crypto -p pezsp-core` geçti | | test-pezframe-examples-compile-to-wasm | ⏳ BEKLEMEDE | CI'da test edilmeli | | test-pezframe-ui | ⏳ BEKLEMEDE | CI'da test edilmeli | | test-deterministic-wasm | ⏳ BEKLEMEDE | CI'da test edilmeli | | cargo-check-benches | ⚠️ BLOKLU | pezpallet-revive-fixtures PolkaVM toolchain gerektiriyor | | test-node-metrics | ⏳ BEKLEMEDE | CI'da test edilmeli | | check-tracing | ✅ LOKAL OK | Tracing testleri geçti | | check-metadata-hash | ⏳ BEKLEMEDE | CI'da test edilmeli | | cargo-check-each-crate | ⏳ BEKLEMEDE | CI'da test edilmeli | | cargo-check-all-crate-macos | ⏳ BEKLEMEDE | macOS gerekli | ### build-misc.yml (3 job) | Job | Durum | Notlar | |-----|-------|--------| | build-runtimes-polkavm | ⏳ BEKLEMEDE | RISC-V target gerekli - CI'da test edilmeli | | check-revive-stable-uapi-polkavm | ⏳ BEKLEMEDE | CI'da test edilmeli | | build-pez-subkey | ✅ LOKAL OK | 7m 49s'de release build tamamlandı | --- ## GÜVENLİK DÜZELTMELERİ (Dependabot) | Vulnerability | Severity | Eski Versiyon | Yeni Versiyon | Durum | |--------------|----------|---------------|---------------|-------| | wasmtime (unsound API) | Low | 35.0.0 | 37.0.0 | ✅ | | tracing-subscriber (ANSI escape) | Low | 0.3.18 | 0.3.20 | ✅ | | ring (AES overflow) | Medium | 0.16.20 | 0.17.14 | ✅ | | ring (duplicate) | Medium | 0.16.20 | 0.17.14 | ✅ | **Ek Değişiklikler (ring fix için):** - libp2p: 0.54.1 → 0.56.0 - libp2p-kad: 0.46.2 → 0.48.0 - transport.rs: bandwidth logging kaldırıldı - service.rs: NoBandwidthSink stub eklendi - behaviour.rs: From eklendi --- ## TOOLCHAIN DURUMU | Tool | Durum | Versiyon | Notlar | |------|-------|----------|--------| | Rust | ✅ | 1.88.0 | rust-toolchain.toml'dan | | wasm32-unknown-unknown | ✅ | installed | 1.88.0 toolchain'e eklendi | | polkatool | ✅ | 0.30.0 | crates.io'dan kuruldu | | resolc | ✅ | mevcut | ~/.local/bin/resolc | | polkavm-linker | ✅ | 0.30.0 | ~/.cache/.polkavm-linker/ | --- ## ÇALIŞMA SİSTEMİ ### Her Workflow Job İçin: 1. **Test Et:** Komutu local'de çalıştır 2. **Hata Analizi:** Çıktıyı analiz et 3. **Düzelt:** Hataları rebrand kurallarına uygun düzelt 4. **Tekrar Test:** Düzeltme sonrası tekrar çalıştır 5. **İşaretle:** Bu dosyada durumu güncelle ### Düzeltme Kuralları (CLAUDE_RULES.md'den): - ASLA rebrand'i geri alma - Terminoloji koruması: - polkadot → pezkuwi - substrate → bizinikiwi - cumulus → pezcumulus - westend → zagros - rococo → pezkuwichain - parachain → teyrchain --- ## TAMAMLANAN DÜZELTMELER ### 2024-12-23: Oturum 3 - Link Düzeltmeleri ve Toolchain **check-links.yml Düzeltmeleri:** - 78 kırık link tespit edildi - 160 upstream tracking issue oluşturuldu (GitHub CLI ile) - Issue mapping dosyası: `.claude/issue_mapping.txt` **Yüksek Etkili Düzeltmeler (RED):** 1. `wasm_project.rs`: radium git URL düzeltildi (`https://https://` → `github.com/paritytech/radium-0.7-fork`) 2. `prerequisites.rs`: rustc-rv32e-toolchain URL düzeltildi 3. `chain_extension.rs`: chainextension-registry URL düzeltildi (2 yer) **Orta Etkili Düzeltmeler (YELLOW):** 1. `config.rs`: ChargeAssetTxPayment docs.rs link düzeltildi 2. `methods/mod.rs`: json-rpc-interface-spec URL düzeltildi 3. `tx_client.rs`: substrate github.io URL düzeltildi 4. `CHANGELOG.md`: json-rpc-interface-spec URLs (2 yer) 5. `umbrella/README.md`: try-runtime URL düzeltildi 6. `macro/src/lib.rs`: subxt issue URL düzeltildi **lychee.toml Exclude Eklemeleri:** - 40+ defunct chain website (laminar, clover, polkadex, vb.) - Commit-specific GitHub URL pattern'leri - Rate-limited siteler (stackoverflow, aventus, efinity) **Toolchain Düzeltmeleri:** - wasm32-unknown-unknown target 1.88.0'a eklendi - polkatool v0.30.0 kuruldu ### 2024-12-23: Oturum 4 - Core Crypto ve Getting-Started **check-core-crypto-features ✅ TAMAMLANDI:** - `bizinikiwi/primitives/core/check-features-variants.sh` geçti - `bizinikiwi/primitives/application-crypto/check-features-variants.sh` geçti - `bizinikiwi/primitives/keyring/check-features-variants.sh` geçti - wasm32-unknown-unknown target testi başarılı **check-getting-started.yml Düzeltmesi:** - **Sorun:** Template URL'leri 404 döndürüyordu - `pezkuwichain/minimal-template` → 404 - `pezkuwichain/teyrchain-template` → 404 - `pezkuwichain/solochain-template` → 404 - **Çözüm:** `getting-started.sh` → `pezkuwichain/pezkuwi-sdk-{template}-template` - **Doğrulama:** Tüm template repoları mevcut ve clone edilebilir ### 2024-12-22: Oturum 2 - Format ve Vendor Entegrasyonu **rustfmt.toml Stable Migration:** - Sorun: rustfmt.toml nightly-only özellikler kullanıyordu - Çözüm: 9 nightly özellik kaldırıldı (imports_granularity, wrap_comments, vb.) - Etki: 898 dosya yeniden formatlandı **Vendor Entegrasyonu:** - `pezkuwi-subxt` → `vendor/pezkuwi-subxt/` (monorepo'ya dahil) - `pezkuwi-zombienet-sdk` → `vendor/pezkuwi-zombienet-sdk/` (monorepo'ya dahil) - Git bağımlılıkları path bağımlılıklarına çevrildi - 606 crate workspace'e dahil edildi **Zepter Düzeltmeleri (18 adet):** - runtime-benchmarks feature propagation (8 düzeltme) - std feature propagation (4 düzeltme) - try-runtime feature propagation (5 düzeltme) - serde feature propagation (1 düzeltme) ### 2024-12-22: Oturum 1 - Clippy Düzeltmeleri **36 dosya düzeltildi:** - deprecated `cargo_bin` function (27 dosya) - `uninlined_format_args` (4 yer) - Subxt API değişiklikleri - unused function warnings --- ## SONRAKİ ADIMLAR 1. ✅ ~~check-links.yml düzelt~~ - TAMAMLANDI 2. ✅ ~~wasm32 target ekle~~ - TAMAMLANDI 3. ✅ ~~polkatool kur~~ - TAMAMLANDI 4. ✅ ~~check-core-crypto-features~~ - TAMAMLANDI (3 script geçti) 5. ✅ ~~check-getting-started.yml~~ - Template URL düzeltildi 6. ⏳ **try-runtime** - CI'da test et (lokal WASM build sorunu var) 7. ⏳ **tests-misc.yml** - CI'da test et 8. ⏳ **build-misc.yml** - CI'da test et --- ## BİLİNEN SORUNLAR ### try-runtime WASM Build Sorunu ``` error[E0152]: duplicate lang item in crate `core` error[E0152]: duplicate lang item in crate `alloc` error: getrandom wasm*-unknown-unknown not supported ``` - **Sebep:** WASM builder farklı std/core versiyonu kullanıyor - **Çözüm:** CI Docker image'ında muhtemelen çözümlü - **Aksiyon:** CI'da test et, lokal test'i atla ### pezpallet-revive-fixtures PolkaVM Sorunu ``` error: failed to run `rustc` to learn about target-specific information target: riscv64emac-unknown-none-polkavm.json ``` - **Sebep:** Custom RISC-V target CI'da tanımlı - **Çözüm:** CI Docker image gerekli - **Aksiyon:** CI'da test et --- ## KRİTİK DOSYA YOLLARI ``` /home/mamostehp/pezkuwi-sdk/ ├── .github/workflows/ # Workflow dosyaları │ ├── checks.yml │ ├── checks-quick.yml │ ├── check-links.yml │ ├── tests-misc.yml │ └── build-misc.yml ├── .config/ │ ├── lychee.toml # Link checker config (güncel) │ └── taplo.toml # TOML formatter config ├── .claude/ │ ├── CLAUDE_RULES.md # Rebrand kuralları │ ├── TERMINOLOGY.md # Terminoloji mapping │ ├── WORKFLOW_PLAN.md # Bu dosya │ ├── domains_repositories.md # Domain ve repo listesi │ └── issue_mapping.txt # Upstream issue mapping ├── scripts/ │ ├── generate-umbrella.py # Umbrella crate generator │ ├── create_tracking_issues.sh # Issue oluşturma scripti │ └── update_issue_links.sh # Link güncelleme scripti ├── vendor/ │ ├── pezkuwi-subxt/ # Vendored subxt (10 crate) │ ├── pezkuwi-zombienet-sdk/ # Vendored zombienet (6 crate) │ └── ss58-registry/ # SS58 registry └── crate_placeholders/ # 150 placeholder crate ``` --- ## GIT COMMIT GEÇMİŞİ 1. `fix: resolve all broken links for check-links.yml CI` - 174 dosya 2. `fix: address multiple compilation issues` - Son derlemeler 3. `fix(security): upgrade libp2p 0.54.1 → 0.56.0` - ring güvenlik düzeltmesi 4. `refactor: zombienet-sdk rebrand and subxt compatibility` - Vendor uyumu 5. `security: fix wasmtime and tracing-subscriber vulnerabilities` - Güvenlik 6. `fix: CI checks-quick.yml fixes` - Quick checks --- ## ÖZET İSTATİSTİKLERİ | Metrik | Değer | |--------|-------| | Toplam workflow job | 35 | | Tamamlanan (lokal OK) | 26 | | Beklemede (CI testi gerekli) | 8 | | Bloklu (sistem gereksinimi) | 1 | | Kırık link düzeltilen | 78 | | Tracking issue oluşturulan | 160 | | Güvenlik açığı kapatılan | 4 | | Template URL düzeltilen | 1 | --- ## NOTLAR - Her büyük değişiklikten önce git commit yap - Hata düzeltirken rebrand'i bozma - CI'da test edilmesi gereken job'lar için PR aç - Lokal test geçenleri güvenle commit et