fix: update filecoin-pin to v0.22.3#119
Conversation
|
I'm about to break things with FilOzone/synapse-sdk#821 for synapse, so I need to come up with a strategy for that too, ideally that doesn't involve requiring a release, maybe I'll have to pin to a commit while we wait for a release there. |
|
Pushed a follow-up for the latest CI failure. After the filecoin-pin bump, |
|
Pushed another follow-up: |
|
Per standup: it would be great if we have dependabot or some other mechanism for keeping this updated. (Totally fine to track separately.) |
There was a problem hiding this comment.
Pull request overview
This PR updates the test_multi_copy_upload scenario to use filecoin-pin@0.22.3 (aligning it with newer Synapse dependencies) and adjusts the devnet’s preconfigured USER_1 FilecoinPay deposit to ensure sufficient USDFC is available for the newer two-copy upload/lockup behavior.
Changes:
- Bump
filecoin-pinintest_multi_copy_uploadfrom0.20.1→0.22.3and refresh the streaming upload compatibility note. - Increase the preconfigured USER_1 USDFC deposit amount from
1 USDFC→3 USDFCto cover observed lockup requirements.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
src/commands/start/user_setup/constants.rs |
Raises the default USER_1 USDFC deposit constant to better support latest multi-copy upload lockups. |
scenarios/test_multi_copy_upload.py |
Pins filecoin-pin@0.22.3 for the scenario and updates the legacy streaming Content-Length workaround commentary. |
| """Strip Content-Length from @filoz/synapse-core's streaming upload headers. | ||
|
|
||
| synapse-core (as of 0.4.1, which filecoin-pin 0.20.1 resolves to) sets a | ||
| synapse-core 0.4.1 (which older filecoin-pin releases resolved to) set a |
Summary
test_multi_copy_uploadscenario fromfilecoin-pin@0.20.1tofilecoin-pin@0.22.3.USER_1FilecoinPay deposit from1 USDFCto3 USDFC.filecoin-pinresolves to a Synapse core release without the old streamingContent-Lengthbehavior.Why
While investigating the failing FOC Devnet frontier run: #117 (comment), I noticed that the
filecoin-pinscenario was still exercising older packaged Synapse dependencies than the source-SDK scenario. The source-SDK path had already picked up the upstream fix, but this scenario was still pinned tofilecoin-pin@0.20.1, which resolves older@filoz/synapse-*packages.filecoin-pin@0.22.3is the latest release and resolves:@filoz/synapse-core@0.5.2@filoz/synapse-sdk@0.41.0Keeping this scenario on the latest
filecoin-pinrelease should make failures easier to interpret and avoids debugging stale package behavior when the devnet tests are intended to exercise the current integration path.CI follow-up
After the version bump, CI no longer hit the previous
DataSetNotLive()/getDataSetListener(0)failure intest_multi_copy_upload. It got further and exposed lockup requirements from the latest filecoin-pin two-copy upload path:A first bump to
2 USDFClet the primary copy complete, but the secondary copy still failed because the first data set left only about0.84 USDFCavailable while the second copy also needed1.16 USDFClocked. This PR now raises the preconfigured deposit to3 USDFC, which clears the observed two-copy requirement with headroom.Validation
filecoin-pin@0.22.3installs and resolves@filoz/synapse-core@0.5.2/@filoz/synapse-sdk@0.41.0.@filoz/synapse-core/dist/src/sp/upload-streaming.jsfile still exists and no longer contains the old streamingContent-Lengthpattern.python3 -m py_compile scenarios/test_multi_copy_upload.py.git diff --check.cargo fmt --all -- --check.cargo test --all-targets --all-features commands::start::user_setup -- --nocapture.blackwas not installed in the local environment, so I could not run the formatter check locally.Follow-up
We should consider adding automated release tracking for
filecoin-pin. Since this pin currently lives inside a Python scenario rather than a package manager manifest, a small scheduled GitHub Actions workflow that opens a bump PR would keep the scenario aligned with upstream releases.