Skip to content

Conversation

@tsenovilla
Copy link
Collaborator

Closes:

By:

  • Allowing source plain files, not just binaries. This extends the cache concept of pop and might be used by other features in the future.
  • Using the released chain specs for Paseo instead of the former chain spec generator. This implies that in the future we can get rid of this repo as well: https://github.com/r0gue-io/paseo-runtimes (when we stop giving support to some old pop versions).

@tsenovilla
Copy link
Collaborator Author

tsenovilla commented Nov 20, 2025

Some IDs aren't correct on Paseo last release's chain specs. Namely BridgeHub, People, Collectives and Coretime have a wrong ID and cannot be used to launch a network using pop up yet.

This is already addressed here and will be included in next release, so just be aware of it til that release is out.

This also will make the CI fails cause this test cannot pass until Paseo 2.0.2 is out. That's why I'm directly using 2.0.2 as fallback even if it's not out yet.

@tsenovilla tsenovilla marked this pull request as ready for review November 20, 2025 15:44
@tsenovilla tsenovilla linked an issue Nov 20, 2025 that may be closed by this pull request
@moliholy
Copy link
Collaborator

@AlexD10S mind to add copilot as a reviewer? Don't know why I can't 😢

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the caching and sourcing capabilities of pop to support plain files (not just binaries) and migrates Paseo chain specifications from using a generator to pre-built chain spec files hosted in the paseo-network/runtimes repository.

Key changes:

  • Introduces ArchiveType enum (Binary | File) to differentiate between executable binaries and plain files
  • Renames Binary to SourcedArchive to better reflect that it can now handle both binaries and files
  • Adds chain_spec_file() function to source chain spec JSON files directly from releases
  • Updates Paseo runtime sourcing from r0gue-io/paseo-runtimes (chain spec generator) to paseo-network/runtimes (pre-built specs) with fallback version v2.0.2
  • Adapts path construction logic to handle file extensions when versioning (e.g., paseo-local-v2.0.2.json)

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
crates/pop-common/src/sourcing/archive.rs Renamed from binary.rs; adds ArchiveType and file path handling logic
crates/pop-common/src/sourcing/mod.rs Updates sourcing functions to handle files; adds file download without executable permissions
crates/pop-common/src/errors.rs Adds StrumPropertyError for better trait error handling
crates/pop-chains/src/up/chain_specs.rs Adds chain_spec_file() function; updates Paseo to use file-based specs
crates/pop-chains/src/up/relay.rs Integrates chain_spec_file alongside chain_spec_generator
crates/pop-chains/src/up/mod.rs Adds chain_spec_file field to RelayChain and Chain structs; renames binaries() to archives()
crates/pop-cli/src/commands/up/network.rs Updates terminology from "binaries" to "archives" in user-facing messages
All test files Updates test assertions to check ArchiveType and verify file sourcing behavior

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

❌ Patch coverage is 85.16533% with 166 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.99%. Comparing base (9430fba) to head (18576aa).

Files with missing lines Patch % Lines
crates/pop-cli/src/commands/up/network.rs 0.00% 35 Missing ⚠️
crates/pop-chains/src/up/chain_specs.rs 86.30% 9 Missing and 21 partials ⚠️
crates/pop-common/src/sourcing/mod.rs 73.33% 12 Missing and 16 partials ⚠️
crates/pop-chains/src/up/mod.rs 89.90% 7 Missing and 15 partials ⚠️
crates/pop-common/src/sourcing/archive.rs 94.21% 0 Missing and 17 partials ⚠️
crates/pop-chains/src/up/relay.rs 80.30% 0 Missing and 13 partials ⚠️
crates/pop-chains/src/up/chains.rs 90.83% 0 Missing and 11 partials ⚠️
crates/pop-chains/src/omni_node.rs 75.00% 0 Missing and 3 partials ⚠️
crates/pop-chains/src/bench/binary.rs 81.81% 0 Missing and 2 partials ⚠️
crates/pop-chains/src/try_runtime/binary.rs 85.71% 0 Missing and 2 partials ⚠️
... and 3 more
@@            Coverage Diff             @@
##             main     #783      +/-   ##
==========================================
+ Coverage   75.63%   75.99%   +0.36%     
==========================================
  Files         115      115              
  Lines       26816    27599     +783     
  Branches    26816    27599     +783     
==========================================
+ Hits        20281    20973     +692     
- Misses       4365     4384      +19     
- Partials     2170     2242      +72     
Files with missing lines Coverage Δ
crates/pop-cli/src/common/binary.rs 72.65% <100.00%> (ø)
crates/pop-common/src/test_env.rs 80.28% <100.00%> (+0.28%) ⬆️
crates/pop-chains/src/build/mod.rs 84.74% <80.00%> (ø)
crates/pop-cli/src/common/omni_node.rs 88.88% <66.66%> (-2.42%) ⬇️
crates/pop-contracts/src/node.rs 79.50% <92.85%> (+0.14%) ⬆️
crates/pop-chains/src/bench/binary.rs 82.69% <81.81%> (-2.42%) ⬇️
crates/pop-chains/src/try_runtime/binary.rs 82.69% <85.71%> (-1.40%) ⬇️
crates/pop-chains/src/omni_node.rs 85.05% <75.00%> (-1.37%) ⬇️
crates/pop-chains/src/up/chains.rs 89.20% <90.83%> (+2.38%) ⬆️
crates/pop-chains/src/up/relay.rs 83.33% <80.30%> (-2.39%) ⬇️
... and 5 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tsenovilla tsenovilla force-pushed the feat/stop-using-chain-spec-generator-for-paseo branch 2 times, most recently from dc4ce12 to ed4bf96 Compare December 8, 2025 15:54
@tsenovilla tsenovilla force-pushed the feat/stop-using-chain-spec-generator-for-paseo branch from ed4bf96 to fa66c94 Compare December 8, 2025 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Stop using chain spec generator for Paseo

3 participants