Skip to content

Release rotation (auto)#760

Draft
openemr-release-bot[bot] wants to merge 3 commits into
masterfrom
release-rotation/auto
Draft

Release rotation (auto)#760
openemr-release-bot[bot] wants to merge 3 commits into
masterfrom
release-rotation/auto

Conversation

@openemr-release-bot
Copy link
Copy Markdown

@openemr-release-bot openemr-release-bot Bot commented May 30, 2026

Automated rotation triggered by workflow_dispatch.

Run: https://github.com/openemr/openemr-devops/actions/runs/26775382436

Slot assignments applied:

  • current=8.1

@kojiromike kojiromike force-pushed the release-rotation/auto branch from 33e6c77 to e6e4ae7 Compare June 1, 2026 17:10
@openemr-release-bot openemr-release-bot Bot force-pushed the release-rotation/auto branch from e6e4ae7 to c839d56 Compare June 1, 2026 17:19
kojiromike added a commit that referenced this pull request Jun 1, 2026
…ck paths (#770)

## Summary

Fixes #769. The `env.stub` shellcheck directive in the 8.0.0 init
scripts was written as a repo-relative path carrying a version token (`#
shellcheck source=docker/openemr/8.0.0/env.stub`). Because the scripts
were registered as `current`-slot pins, advancing `current` 8.0.0 →
8.1.0 rewrote that directive to point at a sibling dir that never
exists, breaking shellcheck CI on the auto rotation PR (#760).

A `# shellcheck source=` comment is a path to the script's own sibling
file, not a version pin — it should never carry a rotating token.

## Changes

- `docker/openemr/8.0.0/openemr.sh`, `ssl.sh`: use the version-agnostic
`SCRIPTDIR/env.stub` form (matching the existing convention already used
for `devtoolsLibrary.source`). `SCRIPTDIR` resolves to the script's own
dir at lint time and contains no token for the rotator to match.
- `tools/release/versions.yml`: drop the two `shellcheck_source`
entries. After the change above the files hold no version pin, so the
linter no longer flags them — no `excludes:` entry needed.
- `tools/release/tests/SlotRotatorTest.php`: regression test seeding a
`*.sh` with a `SCRIPTDIR` directive plus a genuine rotating token,
asserting the directive survives rotation byte-for-byte.

## Test plan

- [x] `php bin/lint-versions.php` — `openemr.sh`/`ssl.sh` no longer
flagged (the two remaining `rel_branch_ref` findings pre-exist on
`master`, unrelated)
- [x] `vendor/bin/phpunit` — 175 tests green, including the new
regression
- [x] Dry-run rotation reproducing #760 (`--current=8.1 --dry-run`) no
longer touches the `# shellcheck source=` line in either script
- [x] `shellcheck docker/openemr/8.0.0/openemr.sh ssl.sh` — clean
@openemr-release-bot openemr-release-bot Bot force-pushed the release-rotation/auto branch from c839d56 to 23b66da Compare June 1, 2026 19:01
Remove the legacy 4-part `patch: "8.0.0.3"` field from the current slot in
tools/release/versions.yml and the matching `:8.0.0.3` / `:8.0.0.3-<date>`
docker tags in build-800.yml. 8.1.x onward uses plain semver; these are
removed as part of the 8.1.0 tag rotation per #746.

Assisted-by: Claude Code
@kojiromike kojiromike marked this pull request as ready for review June 3, 2026 17:21
Copilot AI review requested due to automatic review settings June 3, 2026 17:21
@kojiromike kojiromike marked this pull request as draft June 3, 2026 17:21
Copy link
Copy Markdown
Contributor

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

Automated release-rotation update intended to promote the current slot to OpenEMR 8.1.0 (and update the production build workflow + Dependabot config accordingly).

Changes:

  • Bump tools/release/versions.yml slots.current from 8.0.0 → 8.1.0 (including removing the legacy 4-part patch pin).
  • Update the “current” production Docker build workflow to build from docker/openemr/8.1.0 and publish 8.1.0 tags.
  • Rotate Docker/Dependabot references from the 8.0.0 directory to 8.1.0.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
tools/release/versions.yml Promotes current slot to 8.1.0 and drops the legacy patch field.
docker/openemr/8.0.0/Dockerfile Changes the cloned upstream OpenEMR release branch.
.github/workflows/build-800.yml Retargets the “current” production build to the 8.1.0 Docker context and tags.
.github/dependabot.yml Updates a Dependabot Docker directory entry for rotation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


RUN apk add --no-cache build-base \
&& git clone https://github.com/openemr/openemr.git --branch rel-800 --depth 1 \
&& git clone https://github.com/openemr/openemr.git --branch rel-810 --depth 1 \
# legacy quaternary versioning. See tools/release/versions.yml and #746.
tags: openemr/openemr:8.0.0, openemr/openemr:8.0.0.3, openemr/openemr:8.0.0.3-${{ steps.build_date.outputs.date }}, openemr/openemr:latest
context: "{{defaultContext}}:docker/openemr/8.1.0"
tags: openemr/openemr:8.1.0, openemr/openemr:latest
Comment thread .github/dependabot.yml
Comment on lines +15 to 19
# Docker - docker/openemr/8.1.0
- package-ecosystem: "docker"
directory: "/docker/openemr/8.0.0"
directory: "/docker/openemr/8.1.0"
schedule:
interval: "daily"
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