Skip to content

chore: bump icp-dev-env images to 1.0.1 + Makefile → test.sh (merged examples)#1423

Draft
marc0olo wants to merge 9 commits into
masterfrom
chore/update-merged-examples-to-1.0.1
Draft

chore: bump icp-dev-env images to 1.0.1 + Makefile → test.sh (merged examples)#1423
marc0olo wants to merge 9 commits into
masterfrom
chore/update-merged-examples-to-1.0.1

Conversation

@marc0olo

@marc0olo marc0olo commented Jun 17, 2026

Copy link
Copy Markdown
Member

Summary

Updates all already-merged Motoko and Rust examples per the guidelines in PR #1422 (AGENTS.md update):

  • Bump all icp-dev-env-{motoko,rust,all} image versions to 1.0.1
  • Convert Makefile test targets to test.sh bash scripts

121 files changed across 34 workflow files and ~33 example directories.

Changes per category

Image bumps (34 workflow files): 0.3.2 / 1.0.01.0.1 for motoko, rust, and all images.

Makefile → test.sh (33 examples): every migrated example's Makefile replaced by an executable test.sh bash script with identical logic. Notable special cases:

  • motoko/icrc2-swap: deploy target extracted to a separate deploy.sh (custom multi-step deploy with identities + token init args can't use plain icp deploy)
  • motoko/parallel_calls: test-multi-subnet.sh added for the separate PocketIC multi-subnet test job
  • motoko/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

Test plan

  • CI passes for all updated workflows

🤖 Generated with Claude Code

marc0olo and others added 7 commits June 17, 2026 19:04
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>

Copilot AI left a comment

Copy link
Copy Markdown

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 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 Makefile test targets with bash scripts (test.sh, plus special-case scripts like motoko/icrc2-swap/deploy.sh and motoko/parallel_calls/test-multi-subnet.sh).
  • Update READMEs and workflows to run bash test.sh instead of make 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.

Comment thread motoko/who_am_i/test.sh
Comment thread motoko/who_am_i/test.sh
Comment thread rust/who_am_i/test.sh
Comment thread rust/who_am_i/test.sh
Comment thread motoko/hello_world/test.sh
Comment thread motoko/threshold-ecdsa/test.sh
Comment thread motoko/threshold-schnorr/verify.sh Outdated
Comment thread motoko/threshold-schnorr/verify.sh Outdated
Comment thread motoko/threshold-schnorr/verify.sh Outdated
Comment thread motoko/query_stats/README.md
marc0olo and others added 2 commits June 17, 2026 20:40
- 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>
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.

2 participants