-
Notifications
You must be signed in to change notification settings - Fork 3
Minimize Docker images and automate relasing docker images #31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: yutaro-sakamoto <80912876+yutaro-sakamoto@users.noreply.github.com>
Co-authored-by: yutaro-sakamoto <80912876+yutaro-sakamoto@users.noreply.github.com>
Co-authored-by: yutaro-sakamoto <80912876+yutaro-sakamoto@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces significant improvements to the Docker-based build and release process for opensource COBOL 4J and Open COBOL ESQL 4J, including multi-stage builds, parameterized versioning, and automated CI/CD workflows.
- Refactored Dockerfiles to use multi-stage builds for smaller runtime images
- Added centralized version management through build-config.json
- Enhanced CI/CD workflows with Docker Hub automation and manual dispatch capabilities
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.
Show a summary per file
File | Description |
---|---|
Dockerfile | Converted to multi-stage build with parameterized versions and runtime-only dependencies |
utf8.Dockerfile | Applied multi-stage build pattern with build arguments for version control |
build-config.json | Added centralized configuration for versions and Docker image tags |
.github/workflows/ci.yml | Enhanced with version parameterization, Docker Hub push, and manual dispatch |
.github/workflows/docker-compose.yml | Updated to use configuration file and automated example execution |
docker-compose/docker-compose.yml | Modified to build locally with parameterized arguments |
ocesql4j_sample/run.sh | Added shell script to replace Makefile for running examples |
ocesql4j_sample/Makefile | Removed in favor of run.sh script |
README.md | Rewritten in Japanese to document new release process and workflow usage |
Comments suppressed due to low confidence (1)
utf8.Dockerfile:1
- This COPY command will fail because Open COBOL ESQL 4J is not built in the utf8.Dockerfile builder stage, only opensourcecobol4j is built.
# Build stage
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
20103ba
to
4e22cb3
Compare
4e22cb3
to
abacea8
Compare
This pull request introduces significant improvements to the Docker-based build and release process for opensource COBOL 4J and Open COBOL ESQL 4J. The changes include refactoring the Dockerfiles for multi-stage builds, parameterizing versions via a configuration file, updating CI workflows for more flexible and automated releases, and improving documentation and sample usage. These updates enhance maintainability, reproducibility, and ease of use for both development and release workflows.
Docker build and configuration improvements:
Dockerfile
andutf8.Dockerfile
to use multi-stage builds, separating build and runtime dependencies, and parameterized the installed versions using build arguments for better maintainability. [1] [2]build-config.json
file to centrally manage versions and Docker image tags, allowing workflows and Docker builds to dynamically use the specified versions.CI/CD workflow enhancements:
.github/workflows/ci.yml
to support manual workflow dispatch with apush_to_dockerhub
input, use the new configuration file for versioning, upgrade actions to latest versions, and add Docker Hub push steps.docker-compose
workflow to use the new configuration file, build images with correct arguments, and automatically run example programs inside the container.Sample and compose environment updates:
docker-compose/docker-compose.yml
so theoc4j_client
service builds from the local Dockerfile with build arguments, ensuring it uses the correct configuration.Makefile
with arun.sh
script for running example programs, aligning with the new workflow automation. [1] [2]Documentation:
README.md
in Japanese to document the new release process, configuration, and workflow usage, reflecting the new automated and parameterized approach.