chore(stellar-wave): close #114, #115, #116, #117 (eulami)#125
Open
eulami wants to merge 4 commits into
Open
Conversation
Adds an actions/cache@v4 step to both build and test jobs in
.github/workflows/build.yml. Caches ~/.cargo/{registry,git},
Scarb-specific paths (~/.cache/scarb, ~/.local/share/scarb,
~/.scarb), onchain/target, and **/node_modules so future npm
steps can share the cache.
The cache key hashes onchain/Scarb.lock, onchain/Scarb.toml
and any package-lock.json so dependency changes invalidate the
entry, while identical lockfiles re-use the previous cache.
A concurrency block cancels superseded runs to save runner
minutes.
Closes UnityChainxx#114
Adds a self-documenting Makefile at the repo root exposing
install, dev, test, lint, fmt, build, clean and contract
targets. Run `make help` to list all targets.
Coverage:
install / install-{frontend,backend}
dev / dev-{backend,frontend,all,stop}
test / test-{frontend,backend,backend-e2e}
contracts.{build,test,fmt,fmt-check}
lint / lint-{frontend,backend}
fmt / fmt-backend (frontend has no Prettier dep)
build / build-{frontend,backend}
clean / clean-{frontend,backend,onchain}
ci (mirrors the CI pipeline locally)
Every target is .PHONY so accidental name collisions with
files in the repo do not slow make down.
Closes UnityChainxx#116
Augments the existing backend/README.md (which was already comprehensive) with three explicit, fully-specced sections matching the issue requirements: 1. **Install** — overhead-free install step (Makefile target plus the equivalent npm command). 2. **Environment Variables (.env contract)** — a complete reference table with Required / Default / Source / Purpose columns for every variable read by backend/config/app.config.ts and database.config.ts, plus the additional JWT_SECRET and STARKNET_MODE referenced from the auth modules and on-chain code. 3. **Scripts** and **Run Modes** — explicit tables covering every npm script in backend/package.json and the three runtime modes (start:dev, start:debug, start:prod). Also adds a brief Configuration Defaults section explaining the production overrides for FRONTEND_URL, JWT_SECRET, and DATABASE_SYNC. Closes UnityChainxx#117
Adds .github/CODEOWNERS so module and area ownership is explicit. Default owners @UnityChainxx @eulami for everything, with path-specific defaults for /frontend, /backend, /onchain, /.github, /Makefile, /package.json, and all /docs paths. The last matching rule takes precedence per GitHub CODEOWNERS semantics. Closes UnityChainxx#115
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
Closes the four GitHub issues assigned to @eulami as part of the
Stellar Wave Program (7th wave), bundling independently-mergeable
improvements to developer experience and CI reliability:
node_modulesandcargoregistry/target #114 Cache Scarb / cargo registry and node_modules in CI..github/CODEOWNERSfile documenting module owners.Makefilefor common devops tasks #116 Add a top-levelMakefileso new contributors can usemakeexclusively.backend/README.mdis referenced in CONTRIBUTING.md but does not exist #117 Expandbackend/README.mdwith an explicit.envcontract, scripts table, and run-modes table.
Changes
ci(workflow): cache scarb/cargo registry and node_modules(closes #114)actions/cache@v4is added to bothbuildandtestjobs in.github/workflows/build.yml. Cached paths:~/.cargo/registry,~/.cargo/git(Cargo, literal issue wording)~/.cache/scarb,~/.local/share/scarb,~/.scarb(Scarb)onchain/target(Scarb build output, shared between jobs)**/node_modules(forward-compatible for future JS steps)Key hashes
onchain/Scarb.lock,onchain/Scarb.toml, and anypackage-lock.jsonso dependency changes invalidate the entry.A top-level
concurrency: { cancel-in-progress: true }cancelssuperseded runs.
chore(governance): add CODEOWNERS listing per-module owners(closes #115)New
.github/CODEOWNERS:@UnityChainxx @eulami./frontend,/backend,/onchain,/.github,/Makefile,/package.json, and/docs.chore(devops): add top-level Makefile for common tasks(closes #116)29 targets, all
.PHONY:install,install-frontend,install-backend,dev,dev-backend,dev-frontend,dev-stop,test,test-frontend,test-backend,test-backend-e2e,contracts.build,contracts.test,contracts.fmt,contracts.fmt-check,lint,lint-frontend,lint-backend,fmt,fmt-backend,build,build-frontend,build-backend,clean,clean-frontend,clean-backend,clean-onchain,ci.make helprenders the listing. Frontend format target was droppedbecause the frontend has no Prettier dep.
docs(backend): expand README with .env contract, scripts, and run modes(closes #117)Augmented the existing backend README with:
make install-backendornpm install)..envcontract) reference table forevery variable in
backend/config/app.config.tsanddatabase.config.ts, plusJWT_SECRETandSTARKNET_MODE.backend/package.json.start:dev/start:debug/start:prod).Testing
python3 -c "import yaml; yaml.safe_load(...)"— YAML valid.make help— renders all 29 targets.make -n <target>— semantics confirmed for install / dev-all /contracts.test / lint / ci.
Commits
3cfd016ci(workflow): cache scarb/cargo registry and node_modules66e82c4chore(devops): add top-level Makefile for common tasks63387d1chore(governance): add CODEOWNERS listing per-module ownersfd06a39docs(backend): expand README with .env contract, scripts, and run modesRelated Issues
Closes #114
Closes #115
Closes #116
Closes #117