Skip to content

Conversation

joaopgrassi
Copy link
Member

@joaopgrassi joaopgrassi commented Sep 30, 2025

Fixes ##2834

Changes

This PR adds automation to flag and auto-close PRs with changes on semantic convention areas that do not have an active sig/project. It does so by:

  • Getting all the changed files inside the model/ folder the PR is proposing
  • Then check if there is an active sig/project for the modified areas
  • If not, the PR is closed with the label triage:rejected:declined
  • Maintainers/Approvers can bypass the check by adding the label triage:accepted:ready (if the PR gets closed, apply the label first and then re-opening the PR)

I decided to go with Javascript for the scripts as that seems to be the common pattern for it. I initially wanted to use github-script for the action, but decided against it because it just added complexity where not needed. Also, the way it is now I can use "some" Typescript features to easy the development part. Node 22+ has type stripping so at least we get some IDE help. Much better than bash scripts :D

This is how the comment will look like:

image

Merge requirement checklist

  • CONTRIBUTING.md guidelines followed.
  • Change log entry added, according to the guidelines in When to add a changelog entry.
    • If your PR does not need a change log, start the PR title with [chore]
  • Links to the prototypes or existing instrumentations (when adding or changing conventions)

@joaopgrassi joaopgrassi added the Skip Changelog Label to skip the changelog check label Sep 30, 2025
@joaopgrassi joaopgrassi marked this pull request as ready for review October 3, 2025 11:22
@joaopgrassi joaopgrassi requested review from a team as code owners October 3, 2025 11:22
@joaopgrassi joaopgrassi moved this from Untriaged to Needs More Approval in Semantic Conventions Triage Oct 8, 2025
Copy link
Contributor

@jsuereth jsuereth left a comment

Choose a reason for hiding this comment

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

Nice work! one minor question

const changes: string[] = process.env.CHANGED_FILES!.split(',');

/**
* Checks if the PR already has the 'triage:accepted:ready' label, meaning the triage checks should be skipped.
Copy link
Contributor

Choose a reason for hiding this comment

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

Are there other labels we have (other than ready) that would make us want to skip the check?

Copy link
Member Author

Choose a reason for hiding this comment

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

Not today, but I can add if you prefer a more explicit one for that purpose. Let me know!

@arminru arminru requested a review from Copilot October 14, 2025 12:02
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds GitHub automation to automatically flag and close PRs that modify semantic convention areas without an active SIG/project, implementing the requirements outlined in issue #2834. The automation helps enforce contribution guidelines by preventing changes to unmaintained semantic convention areas while providing a bypass mechanism for maintainers.

Key changes:

  • Adds GitHub workflow to automatically validate PR ownership for changes to model/ directory
  • Implements TypeScript automation scripts to check for active SIG/project ownership of modified areas
  • Updates issue management documentation to reflect new automated triage rules

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
issue-management.md Updates triage documentation to include new automated checks for inactive areas
.github/workflows/check-changes-ownership.yml Defines GitHub workflow to check PR ownership and validate changes
.github/scripts/triage/utils.ts Provides utility functions for parsing area metadata and determining active areas
.github/scripts/triage/package.json Package configuration for TypeScript automation scripts
.github/scripts/triage/check-changes-ownership.ts Main automation script that validates PR ownership and auto-closes non-compliant PRs
Comments suppressed due to low confidence (1)

issue-management.md:1

  • Corrected spelling of 'stablished' to 'established'.
# Issue and PR triage management

Copy link

linux-foundation-easycla bot commented Oct 14, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@arminru arminru force-pushed the feat/triage-automation branch from b323e87 to 26992c4 Compare October 14, 2025 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Skip Changelog Label to skip the changelog check

Projects

Status: Needs More Approval

Development

Successfully merging this pull request may close these issues.

3 participants