cf23fed9c5
* docs: update workflow plan with completed CI fixes * fix(ci): remove wasm32v1-none target installation to fix serde_core compilation This removes the explicit `rustup target add wasm32v1-none` step from CI workflows. When wasm32v1-none is installed, the wasm-builder uses it instead of wasm32-unknown-unknown, which causes serde_core 1.0.228 to fail compilation with "relaxing a default bound only does something for ?Sized" errors. By not installing wasm32v1-none, the wasm-builder automatically falls back to wasm32-unknown-unknown which compiles successfully. This aligns with Polkadot SDK's CI configuration which also does not explicitly install wasm32v1-none. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
13 KiB
13 KiB
Pezkuwi SDK - CI Workflow Mühendislik Planı
KURAL: Bu dosyadaki komutları birebir çalıştır. Kendi komutunu uydurma.
Lokal Test Durumu (development branch)
| Durum | Sayı |
|---|---|
| ✅ Lokal Geçti | 34 |
| ⏳ CI'da Test Edilecek | 8 |
| ❌ Başarısız | 0 |
SON CI DÜZELTMELERİ (2025-12-26)
PR #344 - solc version fix (MERGED)
- solc 0.8.30 pinlendi (revive uyumluluğu için)
PR #345 - WASM build + macOS pip fix (MERGED)
Düzeltilen hatalar:
- macOS pip externally-managed-environment:
--break-system-packagesflag eklendi - WASM getrandom/duplicate lang item:
rustup target add wasm32v1-noneeklendi
Güncellenen workflow dosyaları:
- tests-misc.yml (macOS pip + wasm32v1-none)
- tests.yml (wasm32v1-none)
- tests-linux-stable.yml (wasm32v1-none)
- build-publish-images.yml (wasm32v1-none)
- check-pezframe-omni-bencher.yml (wasm32v1-none)
FAZ 1: Başarısız Workflow'lar (10 workflow, ~30 job)
1.1 quick-checks.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
check-toml-format |
✅ | taplo format --check --config .config/taplo.toml |
check-markdown |
✅ | markdownlint --config .github/.markdownlint.yaml --ignore target --ignore vendor . |
fmt |
✅ | cargo fmt --all -- --check |
check-zepter |
✅ | zepter run check |
check-workspace |
✅ | python3 .github/scripts/check-workspace.py . |
check-dependency-rules |
✅ | python3 .github/scripts/deny-git-deps.py . |
check-umbrella |
✅ | python3 scripts/generate-umbrella.py --check |
test-rust-features |
✅ | .gitlab/rust-features.sh . |
check-fail-ci |
✅ | ! grep -r "FAIL-CI" --include="*.rs" . --exclude-dir=target |
check-readme |
✅ | .github/scripts/check-missing-readme-generation.sh |
Düzeltme:
# TOML format düzelt
taplo format --config .config/taplo.toml
# Markdown düzelt
markdownlint --config .github/.markdownlint.yaml --ignore target --ignore vendor . --fix
1.2 checks.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
cargo-clippy |
✅ | RUSTFLAGS="-D warnings" SKIP_WASM_BUILD=1 cargo clippy --all-targets --all-features --locked --workspace --quiet |
check-try-runtime |
✅ | Aşağıdaki 3 komut sırayla çalıştırılmalı |
check-core-crypto-features |
✅ | Aşağıdaki 3 script çalıştırılmalı |
check-try-runtime komutları:
cargo check --locked --all --features try-runtime --quiet
cargo check --locked -p teyrchain-template-node --features try-runtime
cargo check --locked --all --features try-runtime,experimental --quiet
check-core-crypto-features komutları:
./bizinikiwi/primitives/core/check-features-variants.sh
./bizinikiwi/primitives/application-crypto/check-features-variants.sh
./bizinikiwi/primitives/keyring/check-features-variants.sh
1.3 docs.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
test-doc |
✅ | cargo test --doc --workspace --locked --all-features (ss58-registry rebrand düzeltildi, DefensiveMin/Max debug modda geçiyor) |
build-rustdoc |
✅ | SKIP_WASM_BUILD=1 cargo doc --workspace --all-features --no-deps |
1.4 tests.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
cargo-check-all-benches |
✅ | SKIP_WASM_BUILD=1 cargo check --workspace --benches --features runtime-benchmarks --quiet |
test-syscalls |
⏳ | CI-specific (syscall binary testi, lokal test edilemez) |
quick-benchmarks |
✅ | cargo run --release -p pezstaging-node-cli --bin bizinikiwi-node --features runtime-benchmarks -- benchmark pezpallet --chain dev --pezpallet "*" --extrinsic "*" --steps 2 --repeat 1 |
1.5 tests-linux-stable.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
test-linux-stable |
⏳ | cargo nextest run --workspace --locked --release --features try-runtime,experimental,ci-only-tests (CI'da çalışacak) |
test-linux-stable-int |
⏳ | cargo test -p pezstaging-node-cli --release --locked -- --ignored (CI'da çalışacak) |
test-linux-stable-no-try-runtime |
⏳ | cargo nextest run --workspace --locked --release --features experimental,ci-only-tests (CI'da çalışacak) |
test-linux-stable-runtime-benchmarks |
⏳ | cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet (CI'da çalışacak) |
1.6 tests-misc.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
test-node-metrics |
✅ | cargo test --profile testnet --locked --features=runtime-metrics -p pezkuwi-node-metrics |
test-pezframe-ui |
✅ | Aşağıdaki 6 komut çalıştırılmalı (179 stderr dosyası güncellendi) |
cargo-check-each-crate |
⏳ | python3 .github/scripts/check-each-crate.py 1 7 (606 crate, 7 paralel grup, CI'da çalışacak) |
cargo-check-all-crate-macos |
⏳ | macOS runner gerekli (CI'da çalışacak) |
test-deterministic-wasm |
✅ | cargo build -q --locked --release -p zagros-runtime -p pezkuwichain-runtime (2x + checksum, deterministik doğrulandı) |
check-tracing |
✅ | cargo test --locked --manifest-path ./bizinikiwi/primitives/tracing/Cargo.toml |
test-pezframe-ui komutları:
cargo test --locked -q --profile testnet -p pezframe-support-test --features=frame-feature-testing,no-metadata-docs,try-runtime,experimental ui
cargo test --locked -q --profile testnet -p pezframe-support-test --features=frame-feature-testing,frame-feature-testing-2,no-metadata-docs,try-runtime,experimental ui
cargo test --locked -q --profile testnet -p xcm-pez-procedural ui
cargo test --locked -q --profile testnet -p pezframe-election-provider-solution-type ui
cargo test --locked -q --profile testnet -p pezsp-api-test ui
cargo test --locked -q --profile testnet --manifest-path bizinikiwi/primitives/runtime-interface/Cargo.toml ui
1.7 tests-evm.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
evm-test-suite (test:pvm) |
✅ | Binary'ler derlendi: cargo build --release -p pezpallet-revive-eth-rpc -p pez-revive-dev-node |
differential-tests |
✅ | Binary'ler derlendi, resolc GitHub releases'ten indirilir |
1.8 build-misc.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
build-runtimes-polkavm |
✅ | BIZINIKIWI_RUNTIME_TARGET=riscv cargo check -p pez-minimal-template-runtime -p zagros-runtime -p pezkuwichain-runtime -p pezkuwi-test-runtime |
check-revive-stable-uapi-polkavm |
✅ | cargo +nightly check -p pezpallet-revive-uapi --no-default-features --target riscv64imac-unknown-none-elf -Zbuild-std=core |
build-pez-subkey |
✅ | cd bizinikiwi/bin/utils/pez-subkey && SKIP_WASM_BUILD=1 cargo build --locked --release |
1.9 build-publish-images.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
build-linux-stable |
✅ | cargo build --locked --release -p pezkuwi |
build-linux-stable-pezcumulus |
✅ | cargo build --locked --release -p pezkuwi-teyrchain-bin |
build-linux-bizinikiwi |
✅ | cargo build --locked --release -p pezstaging-node-cli |
build-templates-node |
✅ | cargo build --locked --release -p teyrchain-template-node |
build-malus |
✅ | cargo build --locked --release -p pezkuwi-test-malus |
build-test-collators |
✅ | cargo build --locked --release -p test-teyrchain-adder-collator -p test-teyrchain-undying-collator |
prepare-bridges-zombienet-artifacts |
✅ | cargo build --profile testnet -p pezkuwi-test-malus --bin malus --bin pezkuwi-prepare-worker --bin pezkuwi-execute-worker |
build-push-image-test-teyrchain |
⏳ | Docker image build (CI'da çalışacak) |
1.10 check-getting-started.yml
| Job | Durum | Lokal Test Komutu |
|---|---|---|
| Tüm distro testleri | ✅ | Template repo'ları mevcut, script doğru |
Template Repo'ları (GitHub'da mevcut):
- ✅
github.com/pezkuwichain/pezkuwi-sdk-minimal-template - ✅
github.com/pezkuwichain/pezkuwi-sdk-solochain-template - ✅
github.com/pezkuwichain/pezkuwi-sdk-teyrchain-template - ✅
github.com/pezkuwichain/pezkuwi-runtime-templates
FAZ 2: Düzeltme Sırası
AŞAMA 1 - Kritik (PR merge için ZORUNLU):
├── quick-checks.yml
│ ├── taplo format --config .config/taplo.toml
│ └── markdownlint --fix
└── checks.yml
├── cargo clippy düzeltmeleri
└── try-runtime feature düzeltmeleri
AŞAMA 2 - Derleme Hataları:
├── build-publish-images.yml binary build'ler
├── build-misc.yml PolkaVM build
└── tests.yml benchmark compile
AŞAMA 3 - Test Hataları:
├── tests-linux-stable.yml unit/integration tests
├── tests-misc.yml çeşitli testler
└── docs.yml doc tests
AŞAMA 4 - EVM/PolkaVM:
├── tests-evm.yml PolkaVM toolchain
└── resolc compiler kurulumu
Tamamlanan Düzeltmeler
| Tarih | Düzeltme | Etki |
|---|---|---|
| 2025-12-25 | check-revive-stable-uapi-polkavm: nightly + -Zbuild-std=core ile geçti | check-revive-stable-uapi-polkavm |
| 2025-12-25 | test-deterministic-wasm: zagros-runtime, pezkuwichain-runtime deterministik build doğrulandı | test-deterministic-wasm |
| 2025-12-25 | PolkaVM runtime build: pez-minimal-template-runtime BIZINIKIWI_RUNTIME_TARGET=riscv | build-runtimes-polkavm |
| 2025-12-25 | ss58-registry doc tests: pezkuwi_ss58_registry import, TokenRegistry::Hez | test-doc |
| 2025-12-25 | Rustdoc link düzeltmeleri: zombienet-sdk, subxt, ss58-registry, pezframe-support, pezpallet-presale, revive README | build-rustdoc |
| 2025-12-25 | CLI argüman rebrand: --pallet → --pezpallet, benchmark pallet → benchmark pezpallet | quick-benchmarks, scripts |
| 2025-12-25 | pezpallet-welati EnsureOrigin try_successful_origin düzeltmeleri (3 fix) | pezkuwi-teyrchain-bin build |
| 2025-12-25 | asset-hub-zagros governance origins macro düzeltmeleri (2 macro) | pezkuwi-teyrchain-bin build |
| 2025-12-25 | Binary build'ler test edildi: pezkuwi, pezkuwi-teyrchain-bin, pezstaging-node-cli, teyrchain-template-node | build-publish-images |
| 2025-12-24 | Bench check'e --features runtime-benchmarks eklendi, yanlış exclusion'lar kaldırıldı | cargo-check-all-benches |
| 2024-12-24 | Workflow'larda pezstaging-node-cli paket adı düzeltildi | build-publish-images, tests |
| 2024-12-24 | Umbrella node feature'ına subxt native propagation eklendi | check-try-runtime |
| 2024-12-24 | Vendor crate rebrand düzeltmeleri (sp_* -> pezsp_*) | cargo-clippy |
| 2024-12-24 | Subxt examples artifact paths düzeltildi | cargo-clippy |
| 2024-12-24 | Subxt examples type conversion düzeltmeleri | cargo-clippy |
| 2024-12-24 | Zombienet-sdk test type düzeltmeleri | cargo-clippy |
| 2024-12-24 | TOML format düzeltildi (umbrella/Cargo.toml) | check-toml-format |
| 2024-12-23 | Umbrella'ya pezpallet-root-testing eklendi | check-try-runtime |
| 2024-12-23 | Umbrella'ya pezpallet-xcm-benchmarks eklendi | Runtime build |
| 2024-12-23 | Subxt runtime-full'dan çıkarıldı | getrandom WASM fix |
| 2024-12-23 | Template URL'leri düzeltildi | check-getting-started |
| 2024-12-22 | rustfmt.toml stable-only | fmt job |
| 2024-12-22 | Zepter feature propagation | check-zepter |
| 2025-12-26 | solc 0.8.30 pinlendi (PR #344) | tests-evm, tests-misc |
| 2025-12-26 | macOS pip --break-system-packages (PR #345) | cargo-check-all-crate-macos |
| 2025-12-26 | wasm32v1-none target kurulumu (PR #345) | quick-benchmarks, test-linux-stable-int, test-linux-stable-runtime-benchmarks, test-deterministic-wasm, build-linux-stable, build-linux-bizinikiwi |
Şu An Yapılması Gereken
- ✅
taplo format --config .config/taplo.toml- TAMAMLANDI - ✅
cargo clippydüzeltmeleri - TAMAMLANDI - ✅
check-try-runtimekomutları - TAMAMLANDI (subxt native feature propagation eklendi) - ✅
cargo-check-all-benches- TAMAMLANDI (--features runtime-benchmarks eklendi) - ✅ Build-publish-images temel binary'ler - TAMAMLANDI
- ✅ pezkuwi
- ✅ pezkuwi-teyrchain-bin
- ✅ pezstaging-node-cli
- ✅ teyrchain-template-node
- ✅ pezkuwi-test-malus
- ✅ test-teyrchain-adder-collator
- ✅ test-teyrchain-undying-collator
- ✅ Template repo'ları - MEVCUT (GitHub'da kontrol edildi)
- ✅ Kalan binary build'leri - TAMAMLANDI
- ✅ Commit ve push yap - TAMAMLANDI (PR #344, PR #345)
- ⏳ CI'da test et - PR #345 merge edildi, CI çalışıyor
- ⏳ Tüm workflow'lar yeşil olduktan sonra → crates.io publish
Son Güncelleme: 2025-12-26
GELECEK: Crate Publish Aşaması
TODO : polkavm → pezkavm Rebrand
polkavm-linker external crate olduğu için (crates.io), rebrand için fork gerekli:
- polkavm → pezkavm olarak fork edilecek
polkavm_linker::target_json_path→pezkavm_linker::target_json_path- wasm-builder ve revive fixtures güncellenecek
- Tüm işler bitip crate publish aşamasına geçildiğinde yapılacak