Skip to content

feat(devops): add unified Makefile for cross-component tasks#152

Merged
GideonBature merged 1 commit intoSoroLabs:mainfrom
spartan124:feat/unified-makefile-for-tasks
Mar 30, 2026
Merged

feat(devops): add unified Makefile for cross-component tasks#152
GideonBature merged 1 commit intoSoroLabs:mainfrom
spartan124:feat/unified-makefile-for-tasks

Conversation

@spartan124
Copy link
Copy Markdown
Contributor

@spartan124 spartan124 commented Mar 29, 2026

PR DESCRIPTION:

Description

Implements a unified Makefile for the SoroTask monorepo to simplify common development tasks across all components (Contract, Keeper, Frontend).

Changes

  • Makefile: Root-level Makefile with 25+ targets
  • MAKEFILE.md: Comprehensive documentation with usage examples
  • TESTING_RESULTS.md: Local testing verification

Targets Implemented

Build

  • make build - Build contract and frontend
  • make build-contract - Build Soroban contract
  • make build-keeper - Keeper is runtime app (info only)
  • make build-frontend - Build Next.js frontend

Test

  • make test - Run all tests (contract, keeper, frontend)
  • make test-contract - Cargo tests
  • make test-keeper - Jest tests
  • make test-frontend - Frontend test script

Lint

  • make lint - Lint all components
  • make lint-contract - Cargo clippy
  • make lint-keeper - ESLint
  • make lint-frontend - ESLint
  • make lint-js - lint-staged

Clean

  • make clean - Clean all artifacts
  • make clean-contract - Remove Cargo target/
  • make clean-keeper - Remove node_modules, coverage
  • make clean-frontend - Remove .next, dist, build

Utilities

  • make install - Install all dependencies
  • make format - Format all code
  • make check - Run lint + test
  • make dev - Show development workflow
  • make help - Display all targets

Testing

✅ All targets tested locally on Ubuntu 24.04

  • Build: ✅ Works
  • Test: ✅ All tests pass
  • Lint: ✅ Works (pre-existing contract code issues documented)
  • Clean: ✅ Works
  • Install: ✅ Works
  • Utilities: ✅ Work

Documentation

  • MAKEFILE.md: Full documentation with component details and usage examples
  • Inline help: make help or make displays all available targets
  • Each target: Documented with clear descriptions and use cases

Known Issues

Pre-existing contract code compatibility issues with Soroban SDK v25.3.0 discovered during testing:

  • 24 deprecation warnings
  • 15 compilation errors (type mismatches, API changes)
  • Documented in KNOWN_ISSUES.md
  • Out of scope for this PR - recommend separate modernization PR

Related Issues

Closes #103

Checklist

  • Makefile created in root directory
  • All required targets implemented (build, test, lint, clean)
  • Comprehensive documentation provided
  • All targets tested locally
  • Tests pass successfully
  • Works across all components (Contract, Keeper, Frontend)

- Add root-level Makefile with build, test, lint, and clean targets
- Support all components: Rust contract (Cargo), Node.js keeper (npm), Next.js frontend (npm)
- Implement targets for each component and unified cross-component commands
- Add comprehensive Makefile documentation (MAKEFILE.md)
- Test and verify all targets locally on Ubuntu 24.04

Fixes SoroLabs#103
@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 29, 2026

@spartan124 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Copy link
Copy Markdown
Contributor

@GideonBature GideonBature left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

@GideonBature GideonBature merged commit 1a9a58a into SoroLabs:main Mar 30, 2026
0 of 4 checks passed
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.

[DevOps] Implement a Unified Makefile for Cross-Component Tasks

2 participants