-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathicp.yaml
More file actions
128 lines (125 loc) · 5.06 KB
/
Copy pathicp.yaml
File metadata and controls
128 lines (125 loc) · 5.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# yaml-language-server: $schema=https://raw.githubusercontent.com/dfinity/icp-cli/main/docs/schemas/icp-yaml-schema.json
#
# The only deploy config in this repo — local, staging, mainnet and release.yml
# all read it. dfx.json is gone.
#
# Canister IDs are not here: icp-cli cannot declare one in the manifest. Mainnet
# and staging IDs live in .icp/data/mappings/, which is committed.
#
# Recipes are pinned by version and sha256 — an unpinned recipe changing
# underneath us is what broke this file the first time around.
canisters:
- name: main
recipe:
type: "@dfinity/motoko@v5.1.0"
sha256: 2867e2978df6a427c8c992ab1bed97e385f4941a55a216f31f31393d36157188
configuration:
compress: true
shrink: true
- name: bench
recipe:
type: "@dfinity/motoko@v5.1.0"
sha256: 2867e2978df6a427c8c992ab1bed97e385f4941a55a216f31f31393d36157188
- name: assets
recipe:
type: "@dfinity/asset-canister@v2.3.0"
sha256: ee41744bd1361593a041d830b06ce50598cae5b21b57209fc727e8f63ae7e906
configuration:
# 0.32.0 is what the recipe's bundled sync plugin requires — see the
# matching note on the `cli` canister below.
version: "0.32.0"
dir: frontend/dist
build:
- npm run build-frontend
# dfinity's certified-assets canister, unlike its legacy siblings above. The
# recipe tag pins the canister wasm and its sync plugin as a matched pair,
# `.well-known/` uploads with no opt-in file, and clean URLs are canonicalised
# — `docs/docusaurus.config.js` must keep `trailingSlash: false`. See AGENTS.md.
- name: docs
recipe:
type: "@dfinity/static-site@v0.3.3"
sha256: d3493c1220b956b04225b84b2921f5a30ef39cbb8a359efb9dd3937de90e9975
configuration:
dir: docs/build
build:
- npm run build-docs
- name: blog
recipe:
type: "@dfinity/asset-canister@v2.3.0"
sha256: ee41744bd1361593a041d830b06ce50598cae5b21b57209fc727e8f63ae7e906
configuration:
version: "0.32.0"
dir: blog/build
build:
- npm run build-blog
# Static-only canister: no build step, just serves
# play-frontend/.well-known/ic-domains.
- name: play-frontend
recipe:
type: "@dfinity/asset-canister@v2.3.0"
sha256: ee41744bd1361593a041d830b06ce50598cae5b21b57209fc727e8f63ae7e906
configuration:
version: "0.32.0"
dir: play-frontend
# Raw build/sync (not the recipe) because the asset-canister recipe template
# only supports a single `dir`, and `cli` serves two: `cli-releases/`
# (install.sh, releases.json, tags/, versions/ — what `mops self update`
# reads) and `cli-releases/frontend/dist/` (the SPA at cli.mops.one).
# Keep the sync plugin below in step with the pinned asset-canister recipe.
- name: cli
build:
steps:
- type: script
commands:
- npm run build-cli-releases
- type: pre-built
# 0.32.0 is the version the sync plugin below requires: its `list`
# pagination loop never terminates against pre-0.30.1 assetstorage,
# which ignores `start`/`length` and returns every asset each call.
url: https://github.com/dfinity/sdk/releases/download/0.32.0/assetstorage.wasm.gz
sha256: 04e565b3425fe7510ee16b02adcfe3f01abc9a2725c82a21cb08969241debd62
sync:
steps:
- type: plugin
url: https://github.com/dfinity/certified-assets/releases/download/migration-v2.2.1-6b48585/sync_plugin.wasm
sha256: ca7cb5666c30d2875f8d5e10535f8a53f97a86c79c263f7d5bdac2fdd1bbf83c
dirs:
- cli-releases
- cli-releases/frontend/dist
# Override the default local network port (8000) to bind on 4943, which is what
# vite's /api proxy and DEVELOPMENT.md's MOPS_REGISTRY_HOST already point at.
networks:
- name: local
mode: managed
# Pinned like everything else icp in this file. Without it, every replica
# start after a cache wipe asks api.github.com for the newest launcher —
# an unpinned version, and an anonymous request that 403s under the shared
# rate limit on CI runners.
version: 15.0.0-2026-07-31-04-23
gateway:
bind: 127.0.0.1
port: 4943
# Both mainnet environments are declared explicitly so that a bare
# `npm run deploy-ic` / `deploy-staging` cannot reach a canister it should not.
# `network:` is not optional here — it defaults to `local`, which for an
# environment named `ic` would be a very quiet way to deploy nothing.
environments:
# bench is a fixture `mops bench` deploys to a local replica; dfx.json kept
# it off mainnet with a `remote` id, and an explicit list is the equivalent.
- name: ic
network: ic
canisters:
- main
- assets
- docs
- blog
- cli
- play-frontend
# staging exists for the registry only. docs, blog and cli have no staging
# canister of their own, so a staging deploy of those would resolve to the
# mainnet id — a production deploy wearing a different name.
- name: staging
network: ic
canisters:
- main
- assets