Skip to content

chore(stellar-wave): close #114, #115, #116, #117 (eulami)#125

Open
eulami wants to merge 4 commits into
UnityChainxx:mainfrom
eulami:chore/stellar-wave-eulami
Open

chore(stellar-wave): close #114, #115, #116, #117 (eulami)#125
eulami wants to merge 4 commits into
UnityChainxx:mainfrom
eulami:chore/stellar-wave-eulami

Conversation

@eulami

@eulami eulami commented Jul 24, 2026

Copy link
Copy Markdown

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:

Changes

ci(workflow): cache scarb/cargo registry and node_modules (closes #114)

actions/cache@v4 is added to both build and test jobs 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 any
package-lock.json so dependency changes invalidate the entry.
A top-level concurrency: { cancel-in-progress: true } cancels
superseded runs.

chore(governance): add CODEOWNERS listing per-module owners (closes #115)

New .github/CODEOWNERS:

  • Default owners @UnityChainxx @eulami.
  • Per-area overrides for /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 help renders the listing. Frontend format target was dropped
because 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:

  1. Install (via make install-backend or npm install).
  2. Environment Variables (.env contract) reference table for
    every variable in backend/config/app.config.ts and
    database.config.ts, plus JWT_SECRET and STARKNET_MODE.
  3. Scripts table covering backend/package.json.
  4. Run Modes table (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

  • 3cfd016 ci(workflow): cache scarb/cargo registry and node_modules
  • 66e82c4 chore(devops): add top-level Makefile for common tasks
  • 63387d1 chore(governance): add CODEOWNERS listing per-module owners
  • fd06a39 docs(backend): expand README with .env contract, scripts, and run modes

Related Issues

Closes #114
Closes #115
Closes #116
Closes #117

eulami added 4 commits July 24, 2026 14:58
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant