feat(verification): add GoLang and Markdown Docker verification targets; add version pinning - #272
Merged
Merged
Conversation
This adds end-to-end Go verification to the codegen pipeline: GitHub Actions matrix support, npm docker-run script wiring, a new Go docker target/image/entrypoint, and a new `golang.compile.test.js` suite that generates Go and runs `go build`. It also updates verification case metadata and corpus manifest with explicit `golang` skip reasons for known cross-namespace import path issues emitted by `GoLangVisitor`, keeping failures intentional and documented. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
This adds end-to-end Go verification to the codegen pipeline: GitHub Actions matrix support, npm docker-run script wiring, a new Go docker target/image/entrypoint, and a new `golang.compile.test.js` suite that generates Go and runs `go build`. It also updates verification case metadata and corpus manifest with explicit `golang` skip reasons for known cross-namespace import path issues emitted by `GoLangVisitor`, keeping failures intentional and documented. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
Signed-off-by: Apoorv Gadiya <130035517+apoorv7g@users.noreply.github.com>
- Introduced Markdown as a new target in the Docker verification setup. - Updated package.json and package-lock.json to include markdownlint-cli as a dependency. - Enhanced the verification manifest to include Markdown as a target for linting. - Updated relevant scripts and documentation to reflect the addition of Markdown. This commit expands the verification capabilities to include Markdown, ensuring a consistent environment for testing and validation. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
- Removed unnecessary line breaks in the assignment of MARKDOWNLINT_CONFIG in the markdown validation test file. - This change enhances code readability and maintains consistency in the configuration setup. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
… support - Introduced dynamic versioning for various tools and packages in Dockerfiles, utilizing values from `verification/docker/versions.json`. - Updated Dockerfiles for multiple targets (e.g., Java, Go, C#, etc.) to accept version arguments, ensuring consistent and maintainable builds. - Enhanced the CI workflow to load pinned Docker versions and pass them as build arguments, improving the verification process. This commit significantly improves the flexibility and maintainability of the Docker verification setup, allowing for easier updates to tool versions. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
…s.js - Updated the error message in docker-versions.js to use single quotes for consistency with the rest of the code. - This change improves code readability and maintains a uniform style across the script. Signed-off-by: Apoorv <130035517+APOORV7G@users.noreply.github.com>
ekarademir
approved these changes
Jul 27, 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.
This adds end-to-end Go and Markdown verification to the codegen pipeline: GitHub Actions matrix support, npm docker-run script wiring, new docker targets/images/entrypoints, and local mocha suites that generate each target and run the corresponding verifier (
go build/markdownlint).For Go, it also updates verification case metadata and corpus manifest with explicit
golangskip reasons for known cross-namespace import path issues emitted byGoLangVisitor, keeping failures intentional and documented.Changes
GoLang
verification/docker/golang/Dockerfileandentrypoint.sh: layers thegolang:1.25-alpinetoolchain onto the sharedconcerto-verify-baseimage, generates Go viaconcerto compile --target GoLang, fans generated files out into per-package subdirectories (Go requires one package per directory, unlike the flat output the visitor emits), and runsgo build ./...golanginscripts/verification/docker-run.jsTARGETS,.github/workflows/verify-codegen.ymlmatrix, andverification/docker/targets.jsonverify:docker:golangnpm script topackage.json, matching the existing per-target script patterntest/verification/golang.compile.test.js: generates Go from each verification case viaGoLangVisitor, mirrors the same per-package fan-out fix, writes a syntheticgo.mod, and runsgo build ./..., skipping gracefully when thegotoolchain isn't installedgolangskip reasons to all 7 cases intest/verification/cases.jsand to themetamodelcase inverification/corpus/manifest.json, documenting a pre-existingGoLangVisitorbug (bare package-name imports instead of Go module-relative import paths) that breaksgo buildfor any model with cross-namespace imports (e.g. anything referencingconcerto.decorator)Markdown
verification/docker/markdown/Dockerfileandentrypoint.sh: installsmarkdownlint-cli@0.44.0on the sharedconcerto-verify-baseimage, generates Markdown viaconcerto compile --target Markdown, and runsmarkdownlintagainst each produced.mdverification/docker/markdown/markdownlint.json: shared lint config that disables stylistic rules commonly tripped by generated docs (line length, trailing whitespace, blank-line spacing around lists/fences, etc.) while keeping substantive markdownlint defaultsmarkdowninscripts/verification/docker-run.jsTARGETS,.github/workflows/verify-codegen.ymlmatrix, andverification/docker/targets.jsonverify:docker:markdownnpm script topackage.json, and addmarkdownlint-clias a devDependency for local runstest/verification/markdown.validate.test.js: generates Markdown from each verification case viaMarkdownVisitorand lints with the samemarkdownlint.jsonconfig (overridable viaMARKDOWNLINT_CONFIG)verification/VERIFICATION.mdAuthor Checklist
--signoffoption of git commit.mainfromfork:branchname