- Code Checkout: Retrieves the latest code from GitHub.
- Environment Setup: Configures Node.js and GoLang for the monorepo.
- Dependency Installation: Installs required dependencies for each service.
- Docker Resource Setup: Spins up required services using Docker Compose.
- Testing: Runs unit and integration tests.
- Multi-Stage Docker Image Build: Builds images for all services.
- Docker Compose Testing: Validates Docker images in a containerized environment.
- Publishing to DockerHub: Pushes built images to DockerHub for deployment.
- Runs on every push to the
main
branch.
Step | Description |
---|---|
Checkout Code | Clones the repository. |
Setup Node.js | Configures the Node.js environment. |
Setup GoLang | Configures the Go environment. |
Install Dependencies | Installs dependencies for all services. |
Configure Resources | Runs a script to set up required resources using Docker. |
Start Turbo Development | Starts TurboRepo's development server in the background. |
Run Tests | Executes test cases for each package. |
Cleanup Resources | Stops running processes and cleans up. |
Build Docker Images | Builds service images using Docker. |
Test Docker Compose Setup | Ensures the containerized environment works as expected. |
Push Docker Images | Publishes images to DockerHub. |
Would you like any modifications or enhancements? 😊