Skip to content

feat: migrate hosting examples to icp-cli + remove svelte-starter#1303

Merged
marc0olo merged 15 commits intomasterfrom
marc0olo/icp-cli-hosting
Feb 25, 2026
Merged

feat: migrate hosting examples to icp-cli + remove svelte-starter#1303
marc0olo merged 15 commits intomasterfrom
marc0olo/icp-cli-hosting

Conversation

@marc0olo
Copy link
Member

Summary

  • Migrate 4 non-Ninja hosting examples (static-website, godot-html5-template, unity-webgl-template, photo-storage) fully to icp-cli: add icp.yaml, delete dfx.json, update READMEs to icp-cli commands
  • Add icp.yaml to 3 ICP Ninja hosting examples (my_crypto_blog, react, oisy-signer-demo) while keeping dfx.json for ICP Ninja compatibility
  • Migrate hosting/photo-storage from Create React App to Vite + React
  • Rework hosting/oisy-signer-demo: switch to testnet tokens (tICP + tICRC1), add wallet session persistence across page refreshes, update dependencies
  • Remove svelte/svelte-starter (empty template with dead II artifacts, no backend, no value over sveltekit-starter)
  • Migrate 3 hosting CI workflows from dfx to icp-cli
  • Fix hosting-unity-webgl workflow paths trigger (was pointing to motoko/ instead of hosting/)
  • Install icp-cli in CI provision scripts (additive — dfx installation unchanged)
  • Standardize README structure across all hosting examples
  • Update .gitignore for icp-cli cache directory

Empty Svelte template with dead Internet Identity artifacts cargo-culted
from svelte-motoko-starter. No backend, no value over sveltekit-starter.
Replace dfx.json with icp.yaml, update README to use icp-cli commands.
Replace dfx.json with icp.yaml, update README to use icp-cli commands.
Replace dfx.json with icp.yaml, update README to use icp-cli commands.
Replace dfx.json with icp.yaml, migrate from Create React App to Vite,
convert class component to functional React, update README to icp-cli.
Add icp-cli configuration to my_crypto_blog and react examples while
keeping dfx.json for ICP Ninja compatibility. Standardize READMEs.
Add icp.yaml, switch from mainnet USDC to testnet tokens (tICP + tICRC1),
add wallet session persistence across page refreshes, update dependencies
(signer 4.2.2, lucide-react, prettier), fix npm audit vulnerabilities
(minimatch override), standardize README structure.
Replace dfx commands with icp-cli equivalents in hosting CI workflows.
Fix hosting-unity-webgl paths trigger (was pointing to motoko/ instead
of hosting/).
Add icp-cli and ic-mops to both Darwin and Linux provision scripts.
Existing dfx installation is unchanged — both CLIs are available.
@marc0olo marc0olo requested review from a team as code owners February 24, 2026 16:41
The ninja workflow uses dfx which triggers npm run build. The prebuild
lifecycle hook (npm i --include=dev) ensures deps are installed before
vite runs. Also remove redundant npm install from icp.yaml since
prebuild handles it.
Remove unused keywords frontmatter from all hosting READMEs. Reorder
prerequisites so Node.js comes before icp-cli (npm needs Node first).
Rename react example title to "Basic React Frontend".
icp-cli queries the GitHub API to download the network launcher,
which hits the unauthenticated rate limit (60 req/hr) in CI.
Pass GITHUB_TOKEN via ICP_CLI_GITHUB_TOKEN to authenticate.
icp-cli v0.1.0 doesn't support ICP_CLI_GITHUB_TOKEN yet, so
`icp network start` hits the unauthenticated GitHub API rate limit
(60 req/hr) when fetching the latest launcher version.

Add a shared script that uses the authenticated `gh` CLI to get the
version and downloads the binary directly. Sets
ICP_CLI_NETWORK_LAUNCHER_PATH so icp-cli skips the API call entirely.

Replaces the previous ICP_CLI_GITHUB_TOKEN approach which only works
with unreleased icp-cli builds.
@marc0olo marc0olo merged commit 44a0bcc into master Feb 25, 2026
81 of 82 checks passed
@marc0olo marc0olo deleted the marc0olo/icp-cli-hosting branch February 25, 2026 13:55
marc0olo added a commit that referenced this pull request Feb 25, 2026
Fix the install order to list Node.js before icp-cli, consistent with
the README prerequisites. Includes hosting BUILD.md files from PR #1303.
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