Skip to content

Conversation

prisca-c
Copy link
Owner

Replaces repetitive dependency installations with a reusable node-tools image that includes pre-installed dependencies and leverages PNPM caching for consistent and efficient dependency management. Updates the Dockerfile.tools, docker-compose.tools.yaml, Makefile targets, and CI workflows to streamline the build, linting, testing, and type-checking processes. Removes redundant install-node-deps steps and optimizes volume usage for caching (node_modules and pnpm-store).
This change reduces redundancy, improves execution speed, and ensures a more consistent development and CI/CD workflow across the project.

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Refactor (code changes that neither fix a bug nor add a feature)

How Has This Been Tested?

  • Verified docker-compose workflows including lint, typecheck, and test to ensure they work correctly with the new node-tools image.
  • Tested locally by running all Makefile targets (lint, test, tsc, etc.) to confirm proper functionality.
  • Ran the updated CI pipelines (lint, typecheck, tests) to ensure compatibility and performance improvements.
  • Verified volume caching for pnpm-store and node_modules across runs to ensure dependencies are not redundantly reinstalled.
  • Manually tested production and development environments to ensure there were no regressions.
  • Manual testing

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas (where applicable)
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Related Issues

None

Screenshots (if applicable)

Additional Context

  • This PR introduces a node-tools Docker image, shared across all docker-compose services to standardize dependency management and eliminate redundant installation steps.
  • Simplifies CI workflows by removing unnecessary install-node-deps calls and directly running tasks using the node-tools image.
  • Improves development workflow by caching pnpm-store and node_modules volumes for faster rebuilds and avoids redundant dependency installations.

Replaces repetitive dependency installations with a shared `node-tools` image and PNPM cache for efficiency. Updates Dockerfile, compose files, and workflows to streamline dependency management. Removes redundant install steps and simplifies Makefile targets.
@prisca-c prisca-c force-pushed the feat/optimize-docker branch from b04c612 to c17327d Compare April 21, 2025 14:01
@prisca-c prisca-c merged commit dbde184 into develop Apr 21, 2025
4 checks passed
@prisca-c prisca-c deleted the feat/optimize-docker branch April 21, 2025 14:08
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.

1 participant