Skip to content

feat: add shared invalidate-changelog-cache composite action [ED-25349] - #50

Open
Ntnelbaba wants to merge 1 commit into
mainfrom
chore/invalidate-changelog-cache-action
Open

feat: add shared invalidate-changelog-cache composite action [ED-25349]#50
Ntnelbaba wants to merge 1 commit into
mainfrom
chore/invalidate-changelog-cache-action

Conversation

@Ntnelbaba

@Ntnelbaba Ntnelbaba commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Jira

https://elementor.atlassian.net/browse/ED-25349

Summary

  • Adds actions/invalidate-changelog-cache, a composite action that POSTs to the marketing-plugins cache invalidate endpoint after a release.
  • Endpoint URL is hardcoded: https://elementor.com/wp-json/elementor-site-product-changelog/v1/cache/invalidate
  • Workflows pass api-key from repo secret ELEMENTOR_SITE_CHANGELOG_CACHE_INVALIDATE_API_KEY (WAF validation, same pattern as GlotPress import-originals).
  • Supports explicit types input for split beta/dev invalidation, curl --max-time 60, and per-type failure tolerance.
  • No-ops when the token secret is empty.

Consumers

Merge this first; consumer PRs reference @main.

Secret setup

Set ELEMENTOR_SITE_CHANGELOG_CACHE_INVALIDATE_API_KEY in elementor/elementor and elementor/elementor-pro.

Test plan

  • Merge and confirm @main resolves.
  • Set the API key secret to the WAF token value.
  • Run a release workflow and confirm successful POSTs with api-key header.

✨ PR Description

1. Problem & Context

Automates the clearing of product changelog transients on Elementor.com to ensure users see updated release notes immediately after a deployment.

2. What Changed (Where)

  • actions/invalidate-changelog-cache/action.yml: Created a composite action to handle cache invalidation requests.

3. How It Works

  • Maps input channel to specific types (or uses types directly) and iterates through them.
  • Sends authenticated POST requests to the site's WP-JSON endpoint via curl.
  • Uses set -euo pipefail and --fail for basic error handling during execution.

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how

run: |
set -euo pipefail

if [ -z "${INVALIDATE_TOKEN}" ] || [ "${INVALIDATE_TOKEN}" = "REPLACE_ME" ]; then

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this replace me?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed REPLACE_ME — it was only a placeholder value when the repo secret was first created, not something workflows should check for. The action now skips only when the secret is empty.

Also addressed the bot feedback in the same commit: --max-time 60, per-type failures no longer abort the loop, and workflows can pass an explicit types input to split beta/dev invalidation.

@Ntnelbaba
Ntnelbaba force-pushed the chore/invalidate-changelog-cache-action branch from cdf8210 to 043ecd1 Compare August 24, 2026 16:31
Add a composite action that POSTs to the public elementor.com changelog
cache invalidate endpoint with an api-key header. Supports explicit types
for split beta/dev invalidation, curl timeout, and per-type failure
tolerance.

Ref: ED-25349
Co-authored-by: Cursor <cursoragent@cursor.com>
@Ntnelbaba
Ntnelbaba force-pushed the chore/invalidate-changelog-cache-action branch from 043ecd1 to 26e810f Compare August 24, 2026 16:32
@Ntnelbaba Ntnelbaba changed the title feat: add shared invalidate-changelog-cache composite action feat: add shared invalidate-changelog-cache composite action [ED-25349] Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants