Skip to content

Openemr devops test flex#5

Closed
kojiromike wants to merge 7 commits into
masterfrom
openemr-devops-test-flex
Closed

Openemr devops test flex#5
kojiromike wants to merge 7 commits into
masterfrom
openemr-devops-test-flex

Conversation

@kojiromike

Copy link
Copy Markdown
Owner

Fixes #

Short description of what this resolves:

Changes proposed in this pull request:

@kojiromike kojiromike force-pushed the openemr-devops-test-flex branch 2 times, most recently from dc280af to 919cf10 Compare June 10, 2025 17:48
@kojiromike kojiromike force-pushed the openemr-devops-test-flex branch from 919cf10 to 8c9de99 Compare June 10, 2025 17:55
@kojiromike kojiromike closed this Jun 11, 2025
kojiromike added a commit that referenced this pull request Jun 3, 2026
Replace the three rotating build workflows with a single build-openemr.yml
whose matrix is the stable slot names [current, next, dev] x platform — never
rotated. Each job resolves the slot's real OpenEMR version at runtime by
reading the new slot symlinks docker/openemr/{current,next,dev} -> the real
version dirs, then builds from the resolved dir (push-by-digest); the merge
job publishes :<full>, the floating slot tag (current->latest, next->next,
dev->dev), and :<full>-<date>.

Because the workflow carries zero version strings it never needs rewriting on
rotation. Instead SlotRotator re-points the slot symlink when a slot's
docker_dir changes, making the symlink the build's source of truth. Drops the
build_workflow entries from versions.yml (nothing to lint there now) and the
legacy :8.0.0.3 quaternary tags.

This is the build-workflow half of step #5 (workflow consolidation, openemr#638
follow-on).

Assisted-by: Claude Code
kojiromike added a commit that referenced this pull request Jun 4, 2026
Collapse the version-named production/nightly build workflows to
slot-named files so slot rotation rewrites the version pins inside them
without leaving misleadingly named artifacts:

  build-800.yml -> build-current.yml  (:latest / production)
  build-810.yml -> build-next.yml     (:next nightly)
  build-811.yml -> build-dev.yml      (:dev nightly)

The docker dirs stay version-named: they hold real per-version
Dockerfiles and are the stable targets the rotating context pin points
at. Updates the registry, the rotator test fixtures, and the automation
plan to the new names. This is the build-workflow half of step #5
(workflow consolidation, openemr#638 follow-on).

Assisted-by: Claude Code
kojiromike added a commit that referenced this pull request Jun 4, 2026
Replace the three rotating build workflows with a single build-openemr.yml
whose matrix is the stable slot names [current, next, dev] x platform — never
rotated. Each job resolves the slot's real OpenEMR version at runtime by
reading the new slot symlinks docker/openemr/{current,next,dev} -> the real
version dirs, then builds from the resolved dir (push-by-digest); the merge
job publishes :<full>, the floating slot tag (current->latest, next->next,
dev->dev), and :<full>-<date>.

Because the workflow carries zero version strings it never needs rewriting on
rotation. Instead SlotRotator re-points the slot symlink when a slot's
docker_dir changes, making the symlink the build's source of truth. Drops the
build_workflow entries from versions.yml (nothing to lint there now) and the
legacy :8.0.0.3 quaternary tags.

This is the build-workflow half of step #5 (workflow consolidation, openemr#638
follow-on).

Assisted-by: Claude Code
kojiromike added a commit that referenced this pull request Jun 8, 2026
Collapse the version-named production/nightly build workflows to
slot-named files so slot rotation rewrites the version pins inside them
without leaving misleadingly named artifacts:

  build-800.yml -> build-current.yml  (:latest / production)
  build-810.yml -> build-next.yml     (:next nightly)
  build-811.yml -> build-dev.yml      (:dev nightly)

The docker dirs stay version-named: they hold real per-version
Dockerfiles and are the stable targets the rotating context pin points
at. Updates the registry, the rotator test fixtures, and the automation
plan to the new names. This is the build-workflow half of step #5
(workflow consolidation, openemr#638 follow-on).

Assisted-by: Claude Code
kojiromike added a commit that referenced this pull request Jun 8, 2026
Replace the three rotating build workflows with a single build-openemr.yml
whose matrix is the stable slot names [current, next, dev] x platform — never
rotated. Each job resolves the slot's real OpenEMR version at runtime by
reading the new slot symlinks docker/openemr/{current,next,dev} -> the real
version dirs, then builds from the resolved dir (push-by-digest); the merge
job publishes :<full>, the floating slot tag (current->latest, next->next,
dev->dev), and :<full>-<date>.

Because the workflow carries zero version strings it never needs rewriting on
rotation. Instead SlotRotator re-points the slot symlink when a slot's
docker_dir changes, making the symlink the build's source of truth. Drops the
build_workflow entries from versions.yml (nothing to lint there now) and the
legacy :8.0.0.3 quaternary tags.

This is the build-workflow half of step #5 (workflow consolidation, openemr#638
follow-on).

Assisted-by: Claude Code
kojiromike added a commit that referenced this pull request Jun 8, 2026
…-derived tags

Collapse build-800/810/811.yml into a single build-openemr.yml whose
matrix is the stable slot names [current, next, dev] x platform, never
rotated. Each job resolves its version at runtime from the
docker/openemr/{current,next,dev} symlinks, so the workflow holds zero
version strings and SlotRotator only re-points the symlink.

Publish each slot's true version.php-derived tag instead of the bare
symlink dir name: current -> 8.0.0.3, next -> 8.1.0, dev -> 8.1.1-dev.
This fixes current (really the 8.0.0.3 patch release) and prevents dev
from publishing a bare :8.1.1 that would collide with the eventual real
8.1.1 release.

Supporting changes: standardize 8.0.0/Dockerfile to
ARG OPENEMR_VERSION=rel-800; update versions.yml (current.full ->
8.0.0.3, dev.full -> 8.1.1-dev); update Docker Hub overview template +
renderer test; document the derivation in release-automation-plan.md.

This is the build-workflow half of step #5 (workflow consolidation,
openemr#638 follow-on) and unblocks the release-rotation PR (openemr#760).

Assisted-by: Claude Code
kojiromike added a commit that referenced this pull request Jun 8, 2026
…-derived tags

Collapse build-800/810/811.yml into a single build-openemr.yml whose
matrix is the stable slot names [current, next, dev] x platform, never
rotated. Each job resolves its version at runtime from the
docker/openemr/{current,next,dev} symlinks, so the workflow holds zero
version strings and SlotRotator only re-points the symlink.

Publish each slot's true version.php-derived tag instead of the bare
symlink dir name: current -> 8.0.0.3, next -> 8.1.0, dev -> 8.1.1-dev.
This fixes current (really the 8.0.0.3 patch release) and prevents dev
from publishing a bare :8.1.1 that would collide with the eventual real
8.1.1 release.

Supporting changes: standardize 8.0.0/Dockerfile to
ARG OPENEMR_VERSION=rel-800; update versions.yml (current.full ->
8.0.0.3, dev.full -> 8.1.1-dev); update Docker Hub overview template +
renderer test; document the derivation in release-automation-plan.md.

This is the build-workflow half of step #5 (workflow consolidation,
openemr#638 follow-on) and unblocks the release-rotation PR (openemr#760).

Assisted-by: Claude Code
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