Skip to content

Conversation

Copy link

Copilot AI commented Sep 12, 2025

This PR enhances the changelog CI workflow to support multiple packages with granular control over skipping checks, addressing the need for more flexible changelog enforcement across the EUI monorepo.

Changes Made

🎯 Extended Package Coverage

  • Added changelog checking for packages/eui-theme-borealis and packages/eui-theme-common
  • Created upcoming/ directories with templates for both theme packages
  • Maintains existing support for packages/eui

🏷️ Granular Skip Labels

Introduced package-specific skip labels alongside the existing global option:

  • skip-changelog:eui - Skip changelog check only for EUI package
  • skip-changelog:theme-borealis - Skip changelog check only for Borealis theme package
  • skip-changelog:theme-common - Skip changelog check only for Common theme package
  • skip-changelog - Global skip (existing behavior preserved)

⚡ Efficient Package Detection

  • Added detect-changes job that analyzes git diff to identify modified packages
  • Changelog checks now only run for packages with actual changes in the PR
  • Eliminates unnecessary CI runs when packages haven't been modified

🔧 Enhanced GitHub Action

Updated .github/actions/check-changelog to be reusable across packages:

  • Added optional package-path input parameter
  • Enhanced entrypoint script to handle package-specific checks
  • Maintains full backward compatibility for existing usage

Workflow Logic

The new workflow follows this flow:

  1. Change Detection: Analyzes git diff to determine which packages were modified
  2. Conditional Execution: Only runs changelog checks for modified packages
  3. Label Respect: Honors both global and package-specific skip labels
  4. Parallel Execution: Runs package checks in parallel for efficiency

Example Scenarios

  • EUI-only changes: Only changelog-eui job runs
  • Theme-only changes: Only relevant theme changelog jobs run
  • Multi-package changes: Multiple changelog jobs run in parallel
  • Skip labels: skip-changelog:eui skips EUI check but allows theme checks to run

Backward Compatibility

All existing functionality is preserved:

  • Original skip-changelog label continues to work as before
  • Action can still be used without package-path parameter
  • Existing changelog file locations and formats unchanged

This enhancement provides the flexibility needed for the growing EUI ecosystem while maintaining the changelog quality standards across all packages.

This pull request was created as a result of the following prompt from Copilot chat.

The current changelog CI check only runs for the packages/eui directory and can be skipped with a generic skip-changelog label. This needs to be updated to support more packages and provide more granular control over skipping the checks.

This pull request introduces the following changes:

  1. Extends Changelog Checks: The CI workflow now also checks for changelogs in packages/eui-theme-borealis and packages/eui-theme-common.
  2. Granular Skip Labels: Introduces new labels to skip changelog checks for specific packages:
    • skip-changelog:eui
    • skip-changelog:theme-borealis
    • skip-changelog:theme-common
      The global skip-changelog label is retained to skip all checks.
  3. Efficient Package Checking: The workflow now includes a preliminary step to detect which packages have been modified in the PR. The changelog check for a package will only run if that package has actual changes.
  4. Updates the underlying GitHub Action: The .github/actions/check-changelog action has been updated to accept a package-path parameter, making it reusable for different packages. This includes modifying .github/actions/check-changelog/action.yml and .github/actions/check-changelog/entrypoint.sh.

The main workflow file at .github/workflows/changelog.yml will be updated to orchestrate these new changes.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@cla-checker-service
Copy link

cla-checker-service bot commented Sep 12, 2025

❌ Author of the following commits did not sign a Contributor Agreement:
20bbccc, 4a9b10a

Please, read and sign the above mentioned agreement if you want to contribute to this project

- Add upcoming directories for theme packages
- Update check-changelog action to accept package-path parameter
- Update entrypoint script for package-specific checks
- Update workflow with change detection and granular skip labels

Co-authored-by: acstll <[email protected]>
Copilot AI changed the title [WIP] feat(ci): Enhance changelog check for multiple packages Extend changelog CI checks with granular package support and skip labels Sep 12, 2025
Copilot AI requested a review from acstll September 12, 2025 11:40
Copy link
Contributor

Choose a reason for hiding this comment

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

What do we need this template for?

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

cc @acstll @Copilot

Copy link
Contributor

Choose a reason for hiding this comment

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

This removes the check for eslint-plugin too. I'd make this more generic.

@acstll
Copy link
Contributor

acstll commented Sep 19, 2025

Closing in favor of #9041

@acstll acstll closed this Sep 19, 2025
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.

4 participants