Skip to content

ci: standardize m-stdlib CI onto the Go m toolchain#12

Merged
rafael5 merged 5 commits into
masterfrom
mstdlib-ci-go-m
Jun 15, 2026
Merged

ci: standardize m-stdlib CI onto the Go m toolchain#12
rafael5 merged 5 commits into
masterfrom
mstdlib-ci-go-m

Conversation

@rafael5

@rafael5 rafael5 commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Standardizes m-stdlib's CI onto the Go m (vista-cloud-dev/m-cli),
replacing the legacy Python m-cli (m-dev-tools/m-cli). Unblocks VSL/MSL
Phase B item 4
— the reusable m-ci.yml can't generalize while m-stdlib
runs a different M toolchain than the rest of the ecosystem.

What changed

  • .github/workflows/ci.yml — ubuntu-latest builds m from m-cli
    (clone+build, proxy-lag-immune; M_CLI_REF default main) → Python drift
    gates (unchanged) → m fmt/lint (engine-free) → m-test-engine container
    over --docker (the locally-proven path) → make test/make coverage
    (byte mode). Keeps the shared arch waterline gate + a fail-soft IRIS
    portability job.
  • Makefile$(M_ENGINE_FLAGS) engine transport; --routines src;
    lint via scripts/m-lint-gate.sh; coverage --lcov + aggregate
    --min-percent=85; CORE_SRC excludes optional modules; ci/ci-json
    replace TAP with -o json.
  • scripts/m-lint-gate.sh — preserves --error-on=error semantics (zero
    error-severity findings) that the Go m lacks a native flag for.
  • AGENTS.md — Setup/Test rewritten for the Go m; new CI/toolchain
    section documenting the lint-severity + aggregate-coverage reconciliations.

Verification

Local make ci green — 45 suites / 2434 pass / 0 fail, aggregate coverage
92.79%. This PR exists to prove the CI engine provisioning on a real
Actions run (the spike's actual unknown).

🤖 Generated with Claude Code

rafael5 added a commit that referenced this pull request Jun 15, 2026
Per-repo memory for the CI toolchain switch — engine via --docker
m-test-engine, the lint-severity wrapper, aggregate coverage, and the
branch-base note vs the unmerged stdseed/meta-to-root branch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
rafael5 and others added 5 commits June 15, 2026 09:24
Replace the legacy Python m-cli (m-dev-tools/m-cli, pip-installed inside a
yottadb/yottadb-base container) with the Go `m`
(vista-cloud-dev/m-cli) for fmt/lint/test/coverage — unblocking VSL/MSL
Phase B item 4 (the reusable m-ci.yml can't generalize across two
toolchains).

- ci.yml: ubuntu-latest runner builds `m` from m-cli (clone+build, proxy-
  lag-immune, M_CLI_REF default main) → Python drift gates (unchanged) →
  fmt/lint (Go m, engine-free) → m-test-engine container (--docker, the
  locally-proven path) → make test/coverage byte mode. Keeps the shared
  `arch` waterline gate + a fail-soft IRIS portability job.
- Makefile: engine flags via $(M_ENGINE_FLAGS); --routines src; lint via
  scripts/m-lint-gate.sh; coverage --lcov + aggregate --min-percent=85;
  CORE_SRC excludes optional modules; ci/ci-json replace TAP with -o json.
- scripts/m-lint-gate.sh: preserves `--error-on=error` semantics (zero
  error-severity findings) the Go m lacks a native flag for.
- AGENTS.md: Setup/Test rewritten for the Go m; new CI/toolchain section.

Local: make ci green — 45 suites / 2434 pass / 0 fail, aggregate
coverage 92.79%. Real-CI proof is the point of this push.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per-repo memory for the CI toolchain switch — engine via --docker
m-test-engine, the lint-severity wrapper, aggregate coverage, and the
branch-base note vs the unmerged stdseed/meta-to-root branch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace m-stdlib's inline Go-`m` CI job with a thin caller of the new
reusable vista-cloud-dev/.github `m-ci.yml` (VSL Phase B item 4). The
Makefile targets (drift gates + fmt/lint + test/coverage/ci-json) and the
lint-severity gate are unchanged — m-ci.yml just provisions `m` + the
engine and runs those targets.

Pinned to @m-ci-reusable to prove the reusable workflow on real CI; flip
to @main once the .github PR merges.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The vista-cloud-dev/.github m-ci.yml PR (#4) merged, so reference the
stable @main ref instead of the @m-ci-reusable feature branch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rafael5 rafael5 merged commit 0514130 into master Jun 15, 2026
2 of 3 checks passed
@rafael5 rafael5 deleted the mstdlib-ci-go-m branch June 15, 2026 13:30
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.

1 participant