chore: bump icp-dev-env images to 1.0.1 + Makefile → test.sh (merged examples)#1423
Draft
marc0olo wants to merge 9 commits into
Draft
chore: bump icp-dev-env images to 1.0.1 + Makefile → test.sh (merged examples)#1423marc0olo wants to merge 9 commits into
marc0olo wants to merge 9 commits into
Conversation
Updates all already-merged Motoko and Rust examples:
- icp-dev-env-{motoko,rust,all} images: 0.3.2/1.0.0 → 1.0.1
- Convert Makefile test targets to test.sh bash scripts
- Update workflow files and READMEs accordingly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- icrc2-swap: create deploy.sh (deploy target lost when Makefile was removed); update workflow from make deploy → bash deploy.sh - basic_bitcoin: convert Makefile → test.sh; update workflow make test → bash test.sh; preserve build-image and Docker container logic Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ls below 2000 The compiled WASM has a function with 2081 locals which exceeds the IC limit of 2000. shrink=true and compress=true enable wasm-opt passes that reduce the local count. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
npm install -g without pinning picked up icp-cli 1.0.0 on 2026-06-17, which appears to produce a Motoko WASM with 2081 locals in one function (IC limit is 2000). Pinning to 1.0.0 ensures consistent behavior matching the dev-env container images. shrink+compress left in icp.yaml as an additional wasm-opt pass that may help reduce the local count once the root cause is understood. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ession, tracked separately Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates already-migrated ICP examples to align with the repository’s current operational conventions by (1) pinning GitHub Actions container images to ghcr.io/dfinity/icp-dev-env-{motoko,rust,all}:1.0.1 and (2) replacing Makefile-based test targets with bash test.sh (plus a few example-specific scripts like deploy.sh / verify.sh).
Changes:
- Bump workflow container images across existing example workflows to
1.0.1. - Replace per-example
Makefiletest targets with bash scripts (test.sh, plus special-case scripts likemotoko/icrc2-swap/deploy.shandmotoko/parallel_calls/test-multi-subnet.sh). - Update READMEs and workflows to run
bash test.shinstead ofmake test.
Reviewed changes
Copilot reviewed 121 out of 121 changed files in this pull request and generated 20 comments.
Show a summary per file
| File | Description |
|---|---|
| rust/who_am_i/test.sh | Adds bash-based tests replacing the Makefile target. |
| rust/who_am_i/Makefile | Removes Makefile-based test target. |
| rust/vetkeys/basic_vetkd/test.sh | Adds bash-based tests replacing the Makefile target. |
| rust/vetkeys/basic_vetkd/Makefile | Removes Makefile-based test target. |
| rust/icp_transfer/test.sh | Adds bash-based tests (including delta-based balance assertions). |
| rust/icp_transfer/README.md | Updates instructions from make test to bash test.sh. |
| rust/icp_transfer/Makefile | Removes Makefile-based test target. |
| rust/hello_world/test.sh | Adds bash-based tests replacing the Makefile target. |
| rust/hello_world/Makefile | Removes Makefile-based test target. |
| rust/flying_ninja/test.sh | Adds bash-based tests replacing the Makefile target. |
| rust/flying_ninja/README.md | Updates instructions from make test to bash test.sh. |
| rust/flying_ninja/Makefile | Removes Makefile-based test target. |
| rust/backend_only/test.sh | Adds bash-based tests replacing the Makefile target. |
| rust/backend_only/README.md | Updates instructions from make test to bash test.sh. |
| rust/backend_only/Makefile | Removes Makefile-based test target. |
| motoko/who_am_i/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/who_am_i/Makefile | Removes Makefile-based test target. |
| motoko/vetkeys/basic_vetkd/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/vetkeys/basic_vetkd/Makefile | Removes Makefile-based test target. |
| motoko/threshold-schnorr/verify.sh | Adds verification helper script used by test.sh. |
| motoko/threshold-schnorr/test.sh | Updates test flow to run simple checks + invoke verify.sh. |
| motoko/threshold-schnorr/README.md | Updates instructions from make test to bash test.sh. |
| motoko/threshold-schnorr/Makefile | Removes Makefile-based test target. |
| motoko/threshold-ecdsa/test.sh | Refactors test execution into bash script format and adds explicit PASS output. |
| motoko/threshold-ecdsa/README.md | Updates instructions from make test to bash test.sh. |
| motoko/threshold-ecdsa/Makefile | Removes Makefile-based test target. |
| motoko/superheroes/test.sh | Adds bash-based tests replacing the Makefile target (CRUD + idempotent ID capture). |
| motoko/superheroes/README.md | Updates instructions from make test to bash test.sh. |
| motoko/superheroes/Makefile | Removes Makefile-based test target. |
| motoko/send_http_post/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/send_http_post/README.md | Updates instructions from make test to bash test.sh. |
| motoko/send_http_post/Makefile | Removes Makefile-based test target. |
| motoko/send_http_get/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/send_http_get/README.md | Updates instructions from make test to bash test.sh. |
| motoko/send_http_get/Makefile | Removes Makefile-based test target. |
| motoko/random_maze/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/random_maze/README.md | Updates instructions from make test to bash test.sh. |
| motoko/random_maze/Makefile | Removes Makefile-based test target. |
| motoko/query_stats/test.sh | Adds bash-based tests replacing the Makefile target (fast structural test). |
| motoko/query_stats/README.md | Updates instructions from make test to bash test.sh / bash test-stats.sh. |
| motoko/query_stats/Makefile | Removes Makefile-based test target(s). |
| motoko/pub-sub/test.sh | Adds bash-based tests replacing the Makefile target (with reinstall guidance). |
| motoko/pub-sub/README.md | Updates instructions from make test to bash test.sh. |
| motoko/pub-sub/Makefile | Removes Makefile-based test target. |
| motoko/parallel_calls/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/parallel_calls/test-multi-subnet.sh | Adds bash script for PocketIC multi-subnet job. |
| motoko/parallel_calls/README.md | Updates instructions from make test to bash test.sh. |
| motoko/parallel_calls/Makefile | Removes Makefile-based test target(s). |
| motoko/low_wasm_memory/test.sh | Adds bash-based tests replacing the Makefile target (settings + polling). |
| motoko/low_wasm_memory/README.md | Updates instructions from make test to bash test.sh. |
| motoko/low_wasm_memory/Makefile | Removes Makefile-based test target(s). |
| motoko/icrc2-swap/test.sh | Adds bash-based tests replacing the Makefile target (full swap flow). |
| motoko/icrc2-swap/README.md | Updates instructions from make test to bash test.sh. |
| motoko/icrc2-swap/Makefile | Removes Makefile-based deploy/test targets. |
| motoko/icrc2-swap/deploy.sh | Adds bash deploy script to replace make deploy for multi-step deployment. |
| motoko/icp_transfer/test.sh | Adds bash-based tests replacing the Makefile target (delta-based balance assertions). |
| motoko/icp_transfer/README.md | Updates instructions from make test to bash test.sh. |
| motoko/icp_transfer/Makefile | Removes Makefile-based test target. |
| motoko/hello_world/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/hello_world/Makefile | Removes Makefile-based test target. |
| motoko/hello_cycles/test.sh | Adds bash-based tests replacing the Makefile target (proxy + cycles). |
| motoko/hello_cycles/README.md | Updates instructions from make test to bash test.sh. |
| motoko/hello_cycles/Makefile | Removes Makefile-based test target. |
| motoko/flying_ninja/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/flying_ninja/README.md | Updates instructions from make test to bash test.sh. |
| motoko/flying_ninja/Makefile | Removes Makefile-based test target. |
| motoko/filevault/test.sh | Adds bash-based tests replacing the Makefile target (CRUD + cleanup for idempotency). |
| motoko/filevault/README.md | Updates instructions from make test to bash test.sh. |
| motoko/filevault/Makefile | Removes Makefile-based test target. |
| motoko/daily_planner/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/daily_planner/README.md | Updates instructions from make test to bash test.sh. |
| motoko/daily_planner/Makefile | Removes Makefile-based test target. |
| motoko/composite_query/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/composite_query/README.md | Updates instructions from make test to bash test.sh and updates top-up guidance. |
| motoko/composite_query/Makefile | Removes Makefile-based test/topup targets. |
| motoko/cert-var/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/cert-var/README.md | Updates instructions from make test to bash test.sh. |
| motoko/cert-var/Makefile | Removes Makefile-based test target. |
| motoko/canister_logs/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/canister_logs/README.md | Updates instructions from make test to bash test.sh. |
| motoko/canister_logs/Makefile | Removes Makefile-based test target. |
| motoko/canister_factory/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/canister_factory/README.md | Updates instructions from make test to bash test.sh and updates top-up guidance. |
| motoko/canister_factory/Makefile | Removes Makefile-based test/topup targets. |
| motoko/backend_only/test.sh | Adds bash-based tests replacing the Makefile target. |
| motoko/backend_only/README.md | Updates instructions from make test to bash test.sh. |
| motoko/backend_only/Makefile | Removes Makefile-based test target. |
| .github/workflows/who_am_i.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/vetkeys-password-manager.yml | Bumps dev-env images to 1.0.1. |
| .github/workflows/vetkeys-password-manager-with-metadata.yml | Bumps dev-env images to 1.0.1. |
| .github/workflows/vetkeys-encrypted-notes-app-vetkd.yml | Bumps dev-env images to 1.0.1. |
| .github/workflows/vetkeys-basic-vetkd.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/vetkeys-basic-timelock-ibe.yml | Bumps dev-env images to 1.0.1. |
| .github/workflows/vetkeys-basic-ibe.yml | Bumps dev-env images to 1.0.1. |
| .github/workflows/vetkeys-basic-bls-signing.yml | Bumps dev-env images to 1.0.1. |
| .github/workflows/threshold-schnorr.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/threshold-ecdsa.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/superheroes.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/send_http_post.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/send_http_get.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/random_maze.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/query_stats.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/pub-sub.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/parallel_calls.yml | Bumps dev-env images to 1.0.1 and switches to bash scripts for both jobs. |
| .github/workflows/low_wasm_memory.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/icrc2-swap.yml | Bumps dev-env images to 1.0.1 and switches to bash deploy.sh / bash test.sh. |
| .github/workflows/icp_transfer.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/hosting-unity-webgl-example.yaml | Bumps dev-env image to 1.0.1. |
| .github/workflows/hosting-static-website-example.yaml | Bumps dev-env image to 1.0.1. |
| .github/workflows/hosting-photo-storage-example.yml | Bumps dev-env image to 1.0.1. |
| .github/workflows/hosting-godot-html5-template-example.yml | Bumps dev-env image to 1.0.1. |
| .github/workflows/hello_world.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/hello_cycles.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/flying_ninja.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
| .github/workflows/filevault.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/daily_planner.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/composite_query.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/cert-var.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/canister_logs.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/canister_factory.yml | Bumps dev-env image to 1.0.1 and switches to bash test.sh. |
| .github/workflows/backend_only.yml | Bumps dev-env images to 1.0.1 and switches to bash test.sh. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add --query to all query function calls in who_am_i, hello_world, backend_only, flying_ninja (both Motoko and Rust) - Fix printf '%s' in threshold-ecdsa/test.sh (avoids treating canister output as a printf format string) - Add motoko/query_stats/test-stats.sh (missing file referenced in README) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ter call directly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates all already-merged Motoko and Rust examples per the guidelines in PR #1422 (AGENTS.md update):
icp-dev-env-{motoko,rust,all}image versions to 1.0.1Makefiletest targets totest.shbash scripts121 files changed across 34 workflow files and ~33 example directories.
Changes per category
Image bumps (34 workflow files):
0.3.2/1.0.0→1.0.1for motoko, rust, and all images.Makefile → test.sh (33 examples): every migrated example's
Makefilereplaced by an executabletest.shbash script with identical logic. Notable special cases:motoko/icrc2-swap: deploy target extracted to a separatedeploy.sh(custom multi-step deploy with identities + token init args can't use plainicp deploy)motoko/parallel_calls:test-multi-subnet.shadded for the separate PocketIC multi-subnet test jobmotoko/basic_bitcoin: excluded — this example runs on the host runner (no container) due to Docker bind-mount requirements; it also has a pre-existing Wasm locals regression in icp-cli 1.0.0 (function with 2081 locals > IC limit of 2000). Tracked separately.Out of scope
motoko/basic_bitcoin: untouched, pre-existing regression unrelated to this PRTest plan
🤖 Generated with Claude Code