Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions .github/workflows/test-on-dotcms-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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()
Expand Down
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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)
Expand Down
Loading