Repository navigation
ci: cover build/test and add standalone quickstart - #8
Merged
Merged
Conversation
Why: The PR workflow only checked compilation and the repository lacked a standalone example and installation steps. What: Run native/JS checks and builds, native tests, and quickstart validation; add a local-workspace example and focused README setup instructions. Result: CI now exercises a public-API counter from source checkout, with no production API changes.
Why: Fuwaroid needs a controlled tag-driven package release path, and the quickstart's first CI run exposed three invalid match-arm commas. What: Add a version-matched vMAJOR.MINOR.PATCH publish workflow with native checks, tests, guarded credentials and GitHub releases; fix quickstart syntax. Result: Release publishing runs only for pushed version tags after verification; ordinary branch pushes and PRs never publish.
Why: Target-specific build and test matrices are unnecessary for this project's standard validation and release. What: Simplify PR and tag-release workflows to moon check --output-json and moon test --output-json, while retaining quickstart verification and guarded tag publishing. Result: Both workflows use the normal MoonBit target selection with no explicit --target flags.
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.
Why
The existing pull-request workflow only ran
moon checkfor native and JS. The library had comprehensive API documentation and tests, but no independently runnable consumer example and no concise installation instructions.What changed
push,pull_request, and manual dispatch:moon check,moon build,moon test;moon checkandmoon build;examples/quickstart/, modeled after Posoco's standalone quickstart, with its ownmoon.mod,moon.pkg,moon.work, executable counter and focused test.README.mbt.md, leaving existing API and behavior documentation unchanged.Result and verification
The quickstart exercises real public
Fuwaroid::spawn,tell,ask,closeandjoinAPIs and expectscount = 5.Validation status: source/API review completed; local MoonBit execution was unavailable in the current environment. Please use the new GitHub Actions jobs as the authoritative check/build/test/run verification before merging. The change is left as an open PR for review rather than merged automatically.
No Gitlink integration is added, in accordance with the October scope.
Follow-up: tag-triggered publishing
Added
.github/workflows/publish.yml, following the mcp.mbt tagged publish workflow. A pushedvMAJOR.MINOR.PATCHtag triggers release; the job validates the tag againstmoon.mod, runs native check/build/info-diff/test, publishes with repository secretMOONCAKES_TOKEN(cleaned up on exit), and creates a GitHub Release only after successful publishing. Noworkflow_dispatchor branch publish trigger. Fixed three invalidmatch-arm commas in the quickstart identified from the first Actions run (which passed 55/55 native library tests and JS checks/builds). Re-validation is pending new PR CI.Required repository configuration: supply the
MOONCAKES_TOKENsecret before pushing the release tag. The workflow does not create or publish a tag itself.