Skip to content
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

Improve Development Docker Image Build Workflow #191

Closed
popescu-v opened this issue Jun 18, 2024 · 1 comment · Fixed by #226
Closed

Improve Development Docker Image Build Workflow #191

popescu-v opened this issue Jun 18, 2024 · 1 comment · Fixed by #226
Assignees
Labels
Status/Done The issue has been addressed and merged to the dev branch Type/DevChore Repository maintainance, CI/CD or non user-facing refactorings
Milestone

Comments

@popescu-v
Copy link
Collaborator

popescu-v commented Jun 18, 2024

Description

Currently, the khiopspydev-* Docker images are pushed to the GitHub container registry, each time with the latest tag, thus overriding previous Docker images. This hinders development of concomitant feature branches, where the updated Docker images (overridden for a specific feature branch) is accidentally used for launching the testing and packaging GitHub CI workflows. The goal of this issue is to streamline the Docker image building process, so that this dev chore disappears.

Questions/Ideas

  • The test job can be removed: indeed, the Khiops binaries are now installed from upstream Khiops-generated sources (native OS-specific package, or Conda package) and are thus tested upstream.
  • Versioning can be added to the Docker images, thus: major.minor.patch.increment, where major, minor and patch are from the khiops GitHub repository, and increment is zero-versioning-based, but orthogonal to the versioning scheme of khiops-python itself;
  • Docker images tagged with specific versions can thus be pushed;
  • Docker images are only pushed on manual workflow_dispatch events, when explicitly instructed to do so;
  • Docker images are also tagged latest (and their tags pushed thereof) only if the workflow is manually launched from the dev or main branch (as these images are not "feature-branch" images anymore). Tag overriding is thus possible for the latest tag.
  • The unit-tests, pip and conda workflows (which use the development Docker images) use the latest tag by default for these images, but allow for explicit overriding by manual launch via the workflow_dispatch events.
@popescu-v popescu-v added Status/ReadyForDev The issue is ready to be developed or to be investigated deeply Type/DevChore Repository maintainance, CI/CD or non user-facing refactorings labels Jun 18, 2024
@popescu-v popescu-v self-assigned this Aug 5, 2024
@popescu-v popescu-v added this to the 10.2.2.3 milestone Aug 5, 2024
@popescu-v popescu-v added the Priority/0-High To do now label Aug 5, 2024
@popescu-v
Copy link
Collaborator Author

This seems high-priority, because without it, any modification of the Docker images that is done on a feature branch can hinder development of other feature branches if these modified images are pushed to the GitHub registry.

@popescu-v popescu-v modified the milestones: 10.2.2.3, 10.2.2.4 Aug 5, 2024
@popescu-v popescu-v changed the title Test khiopspydev Docker images before pushing them to the registry Improve Development Docker Image Build Workflow Aug 6, 2024
@popescu-v popescu-v added this to the 10.2.3.0 milestone Aug 8, 2024
@folmos-at-orange folmos-at-orange removed the Priority/0-High To do now label Sep 10, 2024
@folmos-at-orange folmos-at-orange added Status/Done The issue has been addressed and merged to the dev branch and removed Status/ReadyForDev The issue is ready to be developed or to be investigated deeply labels Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status/Done The issue has been addressed and merged to the dev branch Type/DevChore Repository maintainance, CI/CD or non user-facing refactorings
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants