Skip to content

feat: upgrade node to 24 and update workflows (MAPCO-7224)#63

Merged
razbroc merged 15 commits intomasterfrom
feat/upgrade-node-to-24
Feb 11, 2026
Merged

feat: upgrade node to 24 and update workflows (MAPCO-7224)#63
razbroc merged 15 commits intomasterfrom
feat/upgrade-node-to-24

Conversation

@razbroc
Copy link
Contributor

@razbroc razbroc commented Feb 4, 2026

Summary

Upgrade Node.js version from 20 to 24 across the project
Update GitHub Actions workflows to use modern shared workflow actions
Add automated dependency management via Dependabot
Update dependencies to be compatible with Node.js 24

Changes
Node.js Version Upgrade

Updated .nvmrc from v20 to v24
Updated Dockerfile to use Node.js 24.0.0 (build and production stages with Alpine 3.21)
Added Node.js engine requirement >=24.0.0 to package.json

Dependency Updates

Upgraded config from ^3.3.9 to ^4.2.0 (Node 24 compatible)
Upgraded @types/config from ^3.3.0 to ^3.3.5
Updated @map-colonies/express-access-log-middleware from ^2.0.1 to ^3.0.1
Updated @map-colonies/js-logger from ^1.0.1 to ^3.0.2
Updated @map-colonies/mc-priority-queue from ^8.1.0 to ^9.0.2
Updated @map-colonies/mc-utils from ^3.5.1 to ^4.0.4
Updated @map-colonies/raster-shared from ^7.8.0-alpha.1 to 7.10.1

Refactor: Turf Imports

Changed turf imports in geometry.ts to use specific modules for better tree-shaking
Updated mockFactory.ts to import randomPolygon from @turf/random instead of @turf/turf
Modified geoValidator.spec.ts to spy on buffer from @turf/buffer instead of @turf/turf

GitHub Actions Workflows

pull_request.yaml: Replaced reusable workflow call with expanded job structure:

Individual jobs for eslint, helm-lint, openapi-lint, tests, and Docker build
Uses Node.js 24.x matrix strategy
Leverages MapColonies shared workflow actions

build-and-push.yaml: Updated to use new shared workflow actions for artifact management

Removed workflow_dispatch trigger
Updated to individual step-based workflow with newer action versions

release-please.yaml: Added workflow_dispatch trigger for manual releases

Additional Changes

Added .github/dependabot.yaml for automated dependency updates (npm and GitHub Actions)
Added security: [] to openapi3.yaml for OpenAPI specification compliance

Testing
The changes follow the same pattern as polygon-parts-manager#68

- Update Node.js version from 20 to 24 in .nvmrc, Dockerfile, and package.json
- Upgrade config package from 3.3.9 to 4.2.0 and @types/config to 3.3.5
- Add Node.js 24 engine requirement to package.json
- Add dependabot.yaml for automated dependency updates
- Modernize GitHub Actions workflows:
  - Update pull_request.yaml with expanded job structure (eslint, helm-lint, openapi-lint, tests, build_docker_image)
  - Update build-and-push.yaml with new shared workflow actions
  - Add workflow_dispatch trigger to release-please.yaml
- Add security: [] declaration to openapi3.yaml for OpenAPI compliance
- Replaced @redocly/openapi-cli with @redocly/cli version 2.14.2 in package.json
- Added redocly.yaml configuration file with custom rules and settings
@razbroc razbroc changed the title feat: upgrade node to 24 and update workflows feat: upgrade node to 24 and update workflows (MAPCO-7224) Feb 5, 2026
@razbroc razbroc merged commit aa85126 into master Feb 11, 2026
5 checks passed
@razbroc razbroc deleted the feat/upgrade-node-to-24 branch February 11, 2026 08:33
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.

3 participants