infra: consolidate interface spec files, add team ownership and CI workflows#220
infra: consolidate interface spec files, add team ownership and CI workflows#220
Conversation
- Move ic.did from public/reference/ into public/references/ alongside the
other spec attachments (flat structure, no _attachments nesting)
- Rename public/references/_attachments/{certificates.cddl,requests.cddl,
http-gateway.did} → public/references/ (removes the _attachments indirection)
- Update all internal doc links to the new paths
- Add CODEOWNERS entries for @dfinity/interface-spec @dfinity/team-dsm
@dfinity/consensus @dfinity/dx covering docs/references/ic-interface-spec/*,
docs/references/http-gateway-spec.md, and public/references/*.{did,cddl}
- Add three CI workflows ported from dfinity/portal:
interface-spec.yml – validates cddl and candid files on PR/push-main
interface-spec-tag.yml – labels PRs that touch spec files; creates the
interface-spec label automatically if absent
interface-spec-slack.yml – posts to #interface-spec on PR open/ready
|
🤖 Here's your preview: https://uc7il-jaaaa-aaaam-ai2gq-cai.icp0.io |
Matches the portal source filename (http-gateway-protocol-spec.md). Updates all internal links, sidebar slug, CODEOWNERS entry, and workflow path triggers.
|
Content verification note — please confirm one value As part of adding
The 6 GiB figure is internally consistent across this repo but is not explicitly stated in the IC interface spec or the portal resource limits table. Could someone from |
…ude-file Brings back the portal's inline Candid interface view. Adds a custom remark plugin (plugins/remark-include-file.mjs) that reads a file at build time and injects its contents into a code block using a file= meta attribute: ```candid file=<rootDir>/public/references/ic.did The plugin uses the project's own unist-util-visit (v5) to avoid the version conflict that remark-code-import (which bundles v4) introduced. A download link is kept alongside the inline embed for direct access.
Summary
Content audit: Verified all 7
ic-interface-specsplit files are 1:1 with the portal source. All 4 attachment files are byte-for-byte identical. No content was lost; the only differences from the portal are expected frontmatter, cross-file link rewrites, and one intentional adaptation (deadinternetcomputer.org/docs/links replaced with live local paths).Inline Candid interface: Restored the portal's inline
ic.didembed in the management canister spec (docs/references/ic-interface-spec/management-canister.md). A newplugins/remark-include-file.mjsremark plugin handlesfile=<rootDir>/...code fence attributes at build time, using the project's ownunist-util-visit@5(avoids the version conflict fromremark-code-import).File consolidation: Moved all interface spec attachments into a single flat
public/references/directory:public/reference/ic.did→public/references/ic.didpublic/references/_attachments/certificates.cddl→public/references/certificates.cddlpublic/references/_attachments/requests.cddl→public/references/requests.cddlpublic/references/_attachments/http-gateway.did→public/references/http-gateway.didFile rename:
docs/references/http-gateway-spec.md→docs/references/http-gateway-protocol-spec.md(matches portal filename; all internal links and sidebar updated).CODEOWNERS: Added required reviewers for spec files and attachments:
docs/references/ic-interface-spec/*—@dfinity/interface-spec @dfinity/team-dsm @dfinity/consensus @dfinity/dxdocs/references/http-gateway-protocol-spec.md— samedocs/references/management-canister.md— samedocs/references/execution-errors.md—@dfinity/team-dsm @dfinity/dxpublic/references/individually — same as interface-specCI workflows (ported and adapted from
dfinity/portal):interface-spec.yml— validates.cddlfiles (docker cddl-cli) and.didfiles (didc) on every PR touching spec files, and on push tomaininterface-spec-tag.yml— labels any PR that touches spec files withinterface-spec; creates the label automatically on first run (idempotent)interface-spec-slack.yml— posts to#interface-specon Slack when a non-draft PR is opened or marked ready for review (requiresSLACK_API_TOKENsecret)Notes
SLACK_API_TOKENsecret needs to be added to the repo for the Slack workflow to function.docs/references/execution-errors.mdneeds DSM/Consensus confirmation: "wasm64 modules can use up to 6 GiB of heap memory." This appears inportal/canisters.mdxand ourcycles-costs.mdbut not inportal/resource-limits.mdx. Please verify against the runtime implementation before merging.Sync recommendation
informed by dfinity/portal — .github/workflows/interface-spec.yml, .github/workflows/interface-spec-tag.yml, .github/workflows/interface-spec-slack.yml