9bfa143337
- Change template clone URL from pezkuwichain/{template}-template
to pezkuwichain/pezkuwi-sdk-{template}-template
- All three template repos now accessible:
- pezkuwi-sdk-minimal-template
- pezkuwi-sdk-teyrchain-template
- pezkuwi-sdk-solochain-template
- Update WORKFLOW_PLAN.md with current progress
304 lines
12 KiB
Markdown
304 lines
12 KiB
Markdown
# 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<Infallible> 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
|