Skip to content

Conversation

yutaro-sakamoto
Copy link
Contributor

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:

  • Refactored both Dockerfile and utf8.Dockerfile to use multi-stage builds, separating build and runtime dependencies, and parameterized the installed versions using build arguments for better maintainability. [1] [2]
  • Added a new 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:

  • Updated .github/workflows/ci.yml to support manual workflow dispatch with a push_to_dockerhub input, use the new configuration file for versioning, upgrade actions to latest versions, and add Docker Hub push steps.
  • Improved the 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:

  • Modified docker-compose/docker-compose.yml so the oc4j_client service builds from the local Dockerfile with build arguments, ensuring it uses the correct configuration.
  • Replaced the sample Makefile with a run.sh script for running example programs, aligning with the new workflow automation. [1] [2]

Documentation:

  • Rewrote README.md in Japanese to document the new release process, configuration, and workflow usage, reflecting the new automated and parameterized approach.

@Copilot Copilot AI review requested due to automatic review settings October 2, 2025 02:09
Copy link

@Copilot Copilot AI left a 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.

Copy link

@Copilot Copilot AI left a 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.

Copy link

@Copilot Copilot AI left a 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.

@yutaro-sakamoto yutaro-sakamoto force-pushed the y-sakamoto/auto-deploy branch 4 times, most recently from 20103ba to 4e22cb3 Compare October 2, 2025 03:00
@yutaro-sakamoto yutaro-sakamoto merged commit 13cd45c into main Oct 2, 2025
6 checks passed
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.

2 participants