Skip to content

feat: add GitHub Actions lint workflow (#64)#92

Merged
ayomideadeniran merged 2 commits intoStellarDevHub:mainfrom
cyber-excel10:feat/64-github-actions-linting
Mar 25, 2026
Merged

feat: add GitHub Actions lint workflow (#64)#92
ayomideadeniran merged 2 commits intoStellarDevHub:mainfrom
cyber-excel10:feat/64-github-actions-linting

Conversation

@cyber-excel10
Copy link
Copy Markdown

Closes #64

Description

Add comprehensive linting and formatting infrastructure across all three project layers (frontend, backend, smart contracts).

This PR establishes consistent code quality standards and automated checks to catch issues early in the development process.

Changes Made

CI/CD Pipeline

  • Create .github/workflows/lint.yml with parallel jobs for frontend, backend, and contracts
  • Frontend job: ESLint + Prettier format checks
  • Backend job: ESLint + Prettier format checks
  • Contracts job: Cargo clippy + rustfmt checks

Frontend

  • Fix lint script to use next lint instead of invalid command
  • Add format and format:check scripts using Prettier
  • Ensure ESLint and Prettier configurations are in place

Backend

  • Add ESLint configuration with TypeScript support
  • Add Prettier format scripts to package.json
  • Configure TypeScript with proper module resolution
  • All linting and formatting checks pass locally

Smart Contracts

  • Upgrade soroban-sdk from 20.0.0 to 22.0.0
  • Fix Cargo.toml dev-dependencies configuration
  • Add #[contracterror] attribute to TokenError enum with explicit discriminants
  • Ensure all Rust code passes clippy and rustfmt checks

Shared Configuration

  • Add .prettierrc at repo root with consistent formatting rules:
    • semi: true
    • singleQuote: true
    • tabWidth: 2
    • trailingComma: "es5"
    • printWidth: 100

Verification

All three lint jobs verified locally:

  • cargo clippy --all-targets --all-features - clean
  • cargo fmt --all -- --check - clean
  • npm run lint (frontend) - clean
  • npm run format:check (frontend) - clean
  • npm run lint (backend) - clean
  • npm run format:check (backend) - clean

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • All linting and formatting checks pass locally
  • CI/CD pipeline is configured and tested

Note: This is a CI/CD infrastructure change (tooling/chore) adds automated
linting with no changes to application behaviour.

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 25, 2026

@cyber-excel10 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

@ayomideadeniran
Copy link
Copy Markdown
Contributor

@cyber-excel10 Resolve Merge conflict then i can review.

@ayomideadeniran
Copy link
Copy Markdown
Contributor

@cyber-excel10 Please re-clone the repo and re-clone your current PR. The codebase has undergone significant structural and formatting changes for better stability and health.

- Create .github/workflows/lint.yml with parallel jobs for frontend, backend, and contracts
- Fix frontend lint script to use next lint, add prettier format:check
- Add ESLint + TypeScript config and prettier to backend
- Upgrade soroban-sdk 20.0.0 -> 22.0.0, fix Cargo.toml dev-dependencies typo
- Add #[contracterror] to TokenError enum with explicit discriminants
- Add shared .prettierrc at repo root

All three lint jobs verified locally:
- cargo clippy + rustfmt: clean
- frontend eslint + prettier: clean
- backend eslint + prettier: clean
@cyber-excel10 cyber-excel10 force-pushed the feat/64-github-actions-linting branch from 39bdd70 to 5b65a65 Compare March 25, 2026 13:00
@ayomideadeniran
Copy link
Copy Markdown
Contributor

Impressive.

@ayomideadeniran ayomideadeniran merged commit e23d4f8 into StellarDevHub:main Mar 25, 2026
@cyber-excel10
Copy link
Copy Markdown
Author

Impressive.

Thank You

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.

[DX] GitHub Actions - Linting

2 participants