From 839daae95cc98c0ff66b87cb31ac05c93d4fd12f Mon Sep 17 00:00:00 2001 From: Will Ezell Date: Wed, 1 Apr 2026 13:34:21 -0400 Subject: [PATCH 1/2] Update README to highlight evergreen compatibility testing Co-Authored-By: Claude Sonnet 4.6 --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 62200539..01d23a72 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build Check](https://github.com/dotcms-community/plugin-examples/actions/workflows/build-check.yml/badge.svg)](https://github.com/dotcms-community/plugin-examples/actions/workflows/build-check.yml) [![Plugin Installation Test](https://github.com/dotcms-community/plugin-examples/actions/workflows/test-install-plugins.yml/badge.svg)](https://github.com/dotcms-community/plugin-examples/actions/workflows/test-install-plugins.yml) -A collection of working, tested example plugins showing how to extend and customize dotCMS using OSGi bundles. Every plugin in this repo is verified to build and reach ACTIVE state in a dotCMS nightly container on every push. +A collection of working, tested example plugins showing how to extend and customize dotCMS using OSGi bundles. Every plugin in this repo is verified to build and reach ACTIVE state in a live dotCMS container on every push — and automatically tested against every new dotCMS release, making it a reference for how to confidently ship plugins in an evergreen dotCMS environment. ## Plugins @@ -88,6 +88,17 @@ Every push and pull request runs two checks: Results are posted as a step summary on each Actions run. +## Evergreen Compatibility + +dotCMS ships releases continuously. This repo automatically stays current with them: + +- Every 4 hours, a workflow polls `dotcms/core` for new releases +- When a new version is detected, all plugins are built and tested against the matching `dotcms/dotcms-dev` image +- If tests pass, a pull request is opened automatically bumping `dotcms-core.version` in the parent `pom.xml` +- The last verified dotCMS version is tracked as a repository variable so checks are skipped when nothing has changed + +This gives plugin developers a continuously-validated reference for what works — and when something breaks, it's caught within hours of a dotCMS release. + ## Documentation - [dotCMS Plugin Documentation](https://dotcms.com/docs/latest/plugins) From bb00442abf28415079abe477b0a56c6892fb96df Mon Sep 17 00:00:00 2001 From: Will Ezell Date: Thu, 2 Apr 2026 08:15:21 -0400 Subject: [PATCH 2/2] Commit version bump to main and tag release on successful tests Replaces PR flow with a direct commit to main and a GitHub release tag when all plugin tests pass against a new dotCMS version. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/test-on-dotcms-release.yml | 28 ++++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test-on-dotcms-release.yml b/.github/workflows/test-on-dotcms-release.yml index 037387c2..0d7a810a 100644 --- a/.github/workflows/test-on-dotcms-release.yml +++ b/.github/workflows/test-on-dotcms-release.yml @@ -15,9 +15,8 @@ on: default: '' permissions: - actions: write # update LAST_TESTED_DOTCMS_VERSION variable - contents: write # push version-bump branch - pull-requests: write # open PR + actions: write # update LAST_TESTED_DOTCMS_VERSION variable + contents: write # commit to main and create release tag jobs: check-release: @@ -103,23 +102,24 @@ jobs: chmod +x .github/bin/test-install-plugins.sh .github/bin/test-install-plugins.sh - - name: Open version-bump PR + - name: Commit and push to main if: success() - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - BRANCH="chore/dotcms-core-${{ env.DOTCMS_VERSION }}" git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - git checkout -b "${BRANCH}" git add pom.xml git commit -m "chore: bump dotcms-core.version to ${{ env.DOTCMS_VERSION }}" - git push origin "${BRANCH}" - gh pr create \ - --title "chore: bump dotcms-core.version to ${{ env.DOTCMS_VERSION }}" \ - --body "Automated version bump — plugin tests passed against \`dotcms/dotcms-dev:${{ env.DOTCMS_VERSION }}\`." \ - --base main \ - --head "${BRANCH}" + git push origin HEAD:main + + - name: Tag release + if: success() + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "${{ env.DOTCMS_VERSION }}" \ + --title "Compatible with dotCMS ${{ env.DOTCMS_VERSION }}" \ + --notes "All plugins verified ACTIVE against \`dotcms/dotcms-dev:${{ env.DOTCMS_VERSION }}\`." \ + --target main - name: Update last tested version if: success()