Repository navigation
docs: import guidelines for future re-imports + PR #44 leftovers #45
Description
Part of the C++ plugin migration (upstream: WasmEdge/WasmEdge#3840). Follow-up to the source import (#23, landed via PR #44).
Write an import guidelines doc (e.g. docs/IMPORTING.md) so future refreshes/re-imports from WasmEdge core are mechanical, and close out the leftovers from PR #44.
Status (2026-06-24): the lint leftover is handled by #49 (adopts upstream WasmEdge's clang-format method); landing #49 is the lint gate for the upcoming #22 sub-issue PRs. The only remaining scope of this issue is the guidelines doc below — it does not block the migration.
Guidelines doc
- Document the import recipe: fresh upstream clone →
git filter-repoover the path list (record the exact list used in PR feat: import plugin sources, tests, and CI utils from WasmEdge core #44:plugins,test/plugins,thirdparty/wasi_crypto,utils/docker,utils/ffmpeg,utils/opencvmini,utils/wasi-crypto,utils/wasi-nn,utils/wasi-test,utils/build_libpiper.sh) →git rebase --onto main --root --empty=drop --committer-date-is-author-date→ push branch + open PR - Document verification steps: HEAD tree = main's files + imported paths only;
git rev-list --countand 0 merge commits (linear);git blamespot checks for author continuity - Document known check behavior on import PRs: DCO flags upstream squash-merge artifacts (author rewritten to GitHub noreply while the sign-off keeps the real email) — resolve via the "Set DCO to pass" button on the PR Checks tab (the check's "Details" link goes to the probot app page, which has no button). clang-format no longer flags generated/fixture/test paths now that ci: adopt WasmEdge clang-format lint method (#45) #49 scopes the lint to
plugins/(excludesthirdparty/, skipstest/) — so import PRs only need the DCO step documented. - Do not document merge mechanics that involve lifting
main's protection (maintainer decision, 2026-06-12) — that is acceptable only while this repo is WIP and lives in the section below, not in the doc. The doc may point at this issue for the migration-window procedure.
Migration-window sync procedure (kept here on purpose, not in the doc)
For syncing from WasmEdge core before this repo is ready. Expires when the migration completes (#28): after that, main's protection is never removed again.
- Re-run the import recipe above against current upstream master → push branch, open PR for review
- Merge by fast-forward to preserve the reviewed SHAs: admin temporarily lifts ruleset 2835007 →
git push origin <branch>:main→ re-add the ruleset. GitHub auto-marks the PR merged and closes linked issues - Alternative that leaves protection untouched: the "Rebase and merge" button (allowed by the ruleset) — but it rewrites all SHAs and committer info, breaking review references
Sync-run log:
- PR feat: import plugin sources, tests, and CI utils from WasmEdge core #44 — initial import (resolution summary).
- PR chore: refresh imported plugin sources from upstream 0.17.0-131 (#45) #50 — refresh sync to
0.17.0-131-g3e752187, merged 2026-06-26 by FF.
Leftovers from PR #44
- Lint config follow-up — resolved in ci: adopt WasmEdge clang-format lint method (#45) #49 by adopting upstream WasmEdge's clang-format method (pinned
clang-format-22+.github/scripts/clang-format.sh; scopeplugins/,thirdparty/excluded,test/not format-checked) and droppingVALIDATE_CLANG_FORMATfrom super-linter. This supersedes the originally-plannedFILTER_REGEX_EXCLUDEapproach; ci: exclude imported thirdparty and wasm_bpf fixtures from super-linter #46 (that PR) was closed as superseded. -
(optional, for the record) retroactively click "Set DCO to pass" on the merged PR's check run— done 2026-06-12, DCO check on18ce2cdis green
Already tracked elsewhere, listed for completeness: keep test/plugins/wasi_logging disabled until its target exists → #24; reformat — no longer needed for lint: #49 follows upstream policy and does not format-check test/plugins/wasi_crypto/asymmetric.cpp under the pinned clang-format → #24test/; fix [[ ! -v "${VAR}" ]] checks in utils/wasi-nn scripts → #31.
🤖 Generated by Claude Fable 5 with Claude Code
Activity
0yi0 commentedon Jun 24, 2026
Updated the issue to reflect the current linter state:
FILTER_REGEX_EXCLUDE. ci: adopt WasmEdge clang-format lint method (#45) #49 adopts upstream WasmEdge's clang-format method (pinnedclang-format-22+.github/scripts/clang-format.sh; scopeplugins/,thirdparty/excluded,test/not format-checked) and dropsVALIDATE_CLANG_FORMATfrom super-linter.asymmetric.cppreformat (was → feat: standalone CMake build against a released WasmEdge SDK #24) is no longer needed for lint, since ci: adopt WasmEdge clang-format lint method (#45) #49 follows upstream's policy of not format-checkingtest/.This issue no longer blocks the migration — its only remaining scope is the
docs/IMPORTING.mdguidelines doc. The lint gate for the upcoming #22 sub-issue PRs is landing #49.— Claude Opus 4.8 (1M context), via Claude Code 🤖
ci: adopt WasmEdge clang-format lint method (#45) (#49)