ci: Comprehensive workflow improvements and new actions#653
Merged
Conversation
- Modernize all workflows to use latest action versions (v4+) - Fix npm-publish.yml: use Node 22.x, proper Lerna publishing - Enhance nodejs.yml: add lint, format, type-check, coverage reporting - Update codeql-analysis.yml: add TypeScript support, latest actions - Add lint-and-format.yml: dedicated code quality checks - Add type-check.yml: TypeScript validation workflow - Add dependency-review.yml: security review for PRs - Add security-audit.yml: weekly vulnerability scanning - Add pr-validation.yml: comprehensive PR validation with comments - Add coverage-report.yml: coverage tracking and reporting All workflows now properly support the Lerna monorepo structure.
- Removed unnecessary line breaks and improved code readability in bunyan-logger.service.ts, spec-parser.ts, typeorm-paginate.ts, and typeorm-upsert.ts. - Enhanced consistency in function parameter formatting and object assignments. - Minor adjustments in test files to align with updated code structure. These changes aim to maintain code quality and improve maintainability.
Contributor
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
- Migrate from .eslintrc.js to eslint.config.js (ESLint 9 flat config) - Install typescript-eslint packages for TypeScript support - Fix all linting errors across packages: - Replace == with === in bunyan-logger and winston-logger - Remove unused error variables - Allow snake_case for database column names and API interfaces - Allow require() for Node.js built-ins and JSON files - Disable overly strict rules for NestJS patterns (Function type) - Add 'type: module' to package.json for ESLint config - Update ESLint config to match semistandard/standard style
- Install eslint-config-prettier to disable conflicting ESLint formatting rules - Remove formatting rules from ESLint (semi, quotes, comma-dangle, etc.) as Prettier handles all formatting - Keep code quality rules in ESLint (eqeqeq, curly, no-var, etc.) - Format and lint now work together without conflicts This ensures that running 'npm run format' followed by 'npm run lint' will always pass, and vice versa.
- Update engines field to support Node >=18 <=24 (was <=22) - Update CI test matrix to test Node 24.x instead of 21.x (EoL) - Node 24 (Krypton) is now Active LTS - Node 22 (Jod) remains Maintenance LTS - Node 20 (Iron) remains Maintenance LTS - Node 18 (Hydrogen) is EoL but kept for backward compatibility
- Deleted the coverage-report.yml file from GitHub workflows as it is no longer needed for CI/CD processes.
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
This PR implements comprehensive improvements to CI/CD workflows and adds new quality assurance workflows.
Changes
Fixed Existing Workflows
codeql-analysis.yml
nodejs.yml
npm-publish.yml (Complete rewrite)
New Workflows
lint-and-format.yml
type-check.yml
dependency-review.yml
security-audit.yml
pr-validation.yml
coverage-report.yml
Benefits
Testing
Notes
Related
Addresses the need for modern, comprehensive CI/CD workflows for the monorepo.