infra: consolidate interface spec files, add team ownership and CI workflows#220
Merged
Conversation
Member
Author
|
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 |
- 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
Matches the portal source filename (http-gateway-protocol-spec.md). Updates all internal links, sidebar slug, CODEOWNERS entry, and workflow path triggers.
…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.
ab3648c to
a119237
Compare
raymondk
approved these changes
May 12, 2026
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
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