Skip to content

Update TinyMCE Vendor #5

Update TinyMCE Vendor

Update TinyMCE Vendor #5

name: Update TinyMCE Vendor
on:
workflow_dispatch: # Manuelle Ausführung
schedule:
- cron: '0 2 * * 1' # Jeden Montag um 2:00 Uhr UTC
jobs:
check-and-update:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Get current TinyMCE version
id: current-version
run: |
CURRENT_VERSION=$(jq -r '.dependencies.tinymce' package.json)
CURRENT_I18N_VERSION=$(jq -r '.dependencies."tinymce-i18n"' package.json)
echo "current=$CURRENT_VERSION" >> $GITHUB_OUTPUT
echo "current_i18n=$CURRENT_I18N_VERSION" >> $GITHUB_OUTPUT
echo "Current TinyMCE version: $CURRENT_VERSION"
echo "Current TinyMCE i18n version: $CURRENT_I18N_VERSION"
- name: Check for latest TinyMCE version
id: latest-version
run: |
LATEST_VERSION=$(npm view tinymce version || echo "ERROR")
LATEST_I18N_VERSION=$(npm view tinymce-i18n version || echo "ERROR")
if [ "$LATEST_VERSION" = "ERROR" ] || [ "$LATEST_I18N_VERSION" = "ERROR" ]; then
echo "Error: Konnte Versionen nicht vom npm Registry abrufen"
exit 1
fi
echo "latest=$LATEST_VERSION" >> $GITHUB_OUTPUT
echo "latest_i18n=$LATEST_I18N_VERSION" >> $GITHUB_OUTPUT
echo "Latest TinyMCE version: $LATEST_VERSION"
echo "Latest TinyMCE i18n version: $LATEST_I18N_VERSION"
- name: Compare versions
id: compare
run: |
CURRENT="${{ steps.current-version.outputs.current }}"
CURRENT_I18N="${{ steps.current-version.outputs.current_i18n }}"
LATEST="${{ steps.latest-version.outputs.latest }}"
LATEST_I18N="${{ steps.latest-version.outputs.latest_i18n }}"
# Entferne ^ oder ~ aus den aktuellen Versionen
CURRENT_CLEAN=$(echo "$CURRENT" | sed 's/[\^~]//g')
CURRENT_I18N_CLEAN=$(echo "$CURRENT_I18N" | sed 's/[\^~]//g')
NEEDS_UPDATE=false
if [ "$CURRENT_CLEAN" != "$LATEST" ]; then
echo "TinyMCE Update verfügbar: $CURRENT_CLEAN -> $LATEST"
NEEDS_UPDATE=true
fi
if [ "$CURRENT_I18N_CLEAN" != "$LATEST_I18N" ]; then
echo "TinyMCE i18n Update verfügbar: $CURRENT_I18N_CLEAN -> $LATEST_I18N"
NEEDS_UPDATE=true
fi
if [ "$NEEDS_UPDATE" = true ]; then
echo "needs_update=true" >> $GITHUB_OUTPUT
else
echo "needs_update=false" >> $GITHUB_OUTPUT
echo "Alle Pakete sind bereits auf der neuesten Version"
fi
- name: Update TinyMCE version
if: steps.compare.outputs.needs_update == 'true'
run: |
LATEST="${{ steps.latest-version.outputs.latest }}"
LATEST_I18N="${{ steps.latest-version.outputs.latest_i18n }}"
pnpm add tinymce@$LATEST tinymce-i18n@$LATEST_I18N
- name: Build assets
if: steps.compare.outputs.needs_update == 'true'
run: pnpm run build
- name: Create Pull Request
if: steps.compare.outputs.needs_update == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "Update TinyMCE vendor auf Version ${{ steps.latest-version.outputs.latest }}"
branch: update/tinymce-${{ steps.latest-version.outputs.latest }}
delete-branch: true
title: "🔄 Update TinyMCE auf Version ${{ steps.latest-version.outputs.latest }}"
body: |
## TinyMCE Vendor Update
Dieses Update wurde automatisch durch die GitHub Action erstellt.
**Änderungen:**
- TinyMCE: `${{ steps.current-version.outputs.current }}` → `${{ steps.latest-version.outputs.latest }}`
- TinyMCE i18n: `${{ steps.current-version.outputs.current_i18n }}` → `${{ steps.latest-version.outputs.latest_i18n }}`
- `package.json` aktualisiert
- `pnpm-lock.yaml` aktualisiert
- Neue Assets wurden gebaut und committet
**Bitte prüfen:**
- [ ] Changelog von TinyMCE durchlesen: https://www.tiny.cloud/docs/tinymce/latest/changelog/
- [ ] Breaking Changes prüfen
- [ ] Tests durchführen
- [ ] CHANGELOG.md aktualisieren
---
*Erstellt durch GitHub Action am ${{ github.run_id }}*
labels: |
dependencies
tinymce-update
automated