diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 00000000000000..dcbc4b389b0505 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,355 @@ +# This file is used to declaratively define the sentry repository labels. +# +# XXX: A note on renaming labels, from the documentation of the sync action: +# +# > If a label color or description changes, the same label is updated with the +# > new color or description. +# > +# > If a label name changes, the previous label is deleted by default. Also all +# > existing labels which not listed in manifest will be deleted by default. All +# > issues and PRs that were previously labeled with this label are now +# > unlabeled. +# +# If you want to RENAME a label, without all issues and PRs being unlabeled you +# MUST rename the label in the UI AND merge a PR renaming the label here +# simultaneously. + +# Getsentry workflow control +- name: trigger-getsentry-external + color: '3E5E06' + description: 'once code is reviewed: apply label to PR to trigger getsentry tests' + +# Dependabot +- name: dependencies + color: 'ffffff' + description: Pull requests that update a dependency file + +# Scopes +- name: 'Scope: Backend' + color: 'F5B000' + description: Automatically applied to PRs that change backend components +- name: 'Scope: Frontend' + color: '3C74DD' + description: Automatically applied to PRs that change frontend components + +# Status for use with stalebot +- name: 'Status: Backlog' + color: '8D5494' + description: stalebot will ignore +- name: 'Status: In Progress' + color: '8D5494' + description: stalebot will ignore +- name: 'Status: Invalid' + color: '8D5494' + description: null +- name: 'Status: Investigating' + color: '8D5494' + description: null +- name: 'Status: Needs More Information' + color: '8D5494' + description: stalebot will close after four weeks of inactivity +- name: 'Status: Stale' + color: '8D5494' + description: stalebot will close after another week of inactivity +- name: 'Status: Unrouted' + color: '8D5494' + description: stalebot will close after four weeks of inactivity +- name: 'Status: Untriaged' + color: '8D5494' + description: stalebot will close after four weeks of inactivity + +# Issue type +- name: 'Type: Bug' + color: '584774' + description: null +- name: 'Type: CI Flakiness' + color: '584774' + description: null +- name: 'Type: Design' + color: '584774' + description: null +- name: 'Type: Feature Request' + color: '584774' + description: null +- name: 'Type: Improvement' + color: '584774' + description: null +- name: 'Type: Support' + color: '584774' + description: null +- name: 'Type: Support Request' + color: '584774' + description: null +- name: 'Type: User Feedback' + color: '584774' + description: null + +# Components +- name: 'Component: Analytics' + color: '584774' + description: null +- name: 'Component: API' + color: '584774' + description: null +- name: 'Component: Auth' + color: '584774' + description: null +- name: 'Component: Beacon' + color: '584774' + description: null +- name: 'Component: CI' + color: '584774' + description: Continuous Integration pipeline (GitHub Actions) +- name: 'Component: Core Frontend (React)' + color: '584774' + description: null +- name: 'Component: Debugger' + color: '584774' + description: null +- name: 'Component: Developer Environment' + color: '584774' + description: This covers issues related to setting up a developer's environment to be able to contribute to Sentr +- name: 'Component: Documentation' + color: '584774' + description: null +- name: 'Component: Event Pipeline' + color: '584774' + description: null +- name: 'Component: Feedback' + color: '584774' + description: null +- name: 'Component: Grouping' + color: '584774' + description: null +- name: 'Component: i18n' + color: '584774' + description: null +- name: 'Component: Inbound Filters' + color: '584774' + description: null +- name: 'Component: Integrations' + color: '584774' + description: null +- name: 'Component: Issues' + color: '584774' + description: null +- name: 'Component: Logging' + color: '584774' + description: null +- name: 'Component: Monitoring' + color: '584774' + description: null +- name: 'Component: Notifications' + color: '584774' + description: null +- name: 'Component: Onboarding' + color: '584774' + description: null +- name: 'Component: Package' + color: '584774' + description: null +- name: 'Component: Relay' + color: '584774' + description: null +- name: 'Component: Releases' + color: '584774' + description: null +- name: 'Component: Replay Details' + color: '584774' + description: Session Replays → Details +- name: 'Component: Replay Index' + color: '584774' + description: Session Replays → Index page +- name: 'Component: Rules' + color: '584774' + description: null +- name: 'Component: SDK' + color: '584774' + description: null +- name: 'Component: Search' + color: '584774' + description: null +- name: 'Component: Source Maps' + color: '584774' + description: null +- name: 'Component: UI' + color: '584774' + description: null +- name: 'Component: User Crash Report' + color: '584774' + description: null +- name: 'Component: Workflow' + color: '584774' + description: null + +# Teams +- name: 'Team: Backend' + color: '8D5494' + description: app-backend +- name: 'Team: Design' + color: '8D5494' + description: null +- name: 'Team: Ecosystem' + color: '8D5494' + description: null +- name: 'Team: Emerging Technology' + color: '8D5494' + description: team-emerging-technology +- name: 'Team: Enterprise' + color: '8D5494' + description: null +- name: 'Team: Front End' + color: '8D5494' + description: app-frontend +- name: 'Team: Growth' + color: '8D5494' + description: null +- name: 'Team: Infrastructure' + color: '8D5494' + description: null +- name: 'Team: Ingest' + color: '8D5494' + description: owners-ingest +- name: 'Team: Mobile Platform' + color: '8D5494' + description: team-mobile +- name: 'Team: Native Platform' + color: '8D5494' + description: owners-native +- name: 'Team: Open Source' + color: '8D5494' + description: null +- name: 'Team: Ops' + color: '8D5494' + description: null +- name: 'Team: Revenue' + color: '8D5494' + description: null +- name: 'Team: Search & Storage' + color: '8D5494' + description: sns +- name: 'Team: Support' + color: '8D5494' + description: null +- name: 'Team: Visibility' + color: '8D5494' + description: null +- name: 'Team: Web SDKs - Backend' + color: '8D5494' + description: team-web-sdk-backend +- name: 'Team: Web SDKs - Frontend' + color: '8D5494' + description: team-web-sdk-frontend +- name: 'Team: Workflow' + color: '8D5494' + description: null + +# Deploy types +- name: 'Deploy: Monitored' + color: 'FFB287' + description: This PR requires a monitored deploy +- name: 'Deploy: Risky' + color: 'C83852' + description: This is a particularly risky deploy + +# Feature types +- name: 'Feature: Alert Rule' + color: '8A7259' + description: null +- name: 'Feature: Errors' + color: 'ffa0df' + description: null + +# Hacktoberfest +- name: 'Hacktoberfest :jack_o_lantern:' + color: 'ffa500' + description: null +- name: Hacktoberfest-accepted + color: 'e99695' + description: Accept for Hacktoberfest - will merge later + +# Impacts +- name: 'Impact: Large' + color: 'C83852' + description: null +- name: 'Impact: Medium' + color: 'FFB287' + description: null +- name: 'Impact: Migration' + color: 'C83852' + description: null +- name: 'Impact: Small' + color: '452650' + description: null + +# Platforms +- name: 'Platform: Cocoa' + color: '584774' + description: null +- name: 'Platform: Dart' + color: '584774' + description: null +- name: 'Platform: Java' + color: '584774' + description: null +- name: 'Platform: JavaScript' + color: '584774' + description: null +- name: 'Platform: PHP' + color: '584774' + description: null +- name: 'Platform: Python' + color: '584774' + description: null +- name: 'Platform: Ruby' + color: '584774' + description: null +- name: 'Platform: Unity' + color: '584774' + description: null + +# Hosting type +- name: 'Hosting: Self-hosted' + color: '584774' + description: null +- name: 'Hosting: sentry.io' + color: '584774' + description: null + +# Legacy tags +- name: WIP + color: 'F6F6F8' + description: null +- name: 'Package: browser' + color: '6780AD' + description: null +- name: Design Review + color: 'F6F6F8' + description: null +- name: Do Not Merge + color: 'C83852' + description: Don't merge +- name: Easy Task + color: 'F6F6F8' + description: null +- name: enhancement + color: 'a2eeef' + description: null +- name: help wanted + color: '159818' + description: null +- name: invalid + color: 'F6F6F8' + description: null +- name: javascript + color: 'F6F6F8' + description: Pull requests that update Javascript code +- name: python + color: 'F6F6F8' + description: Pull requests that update Python code +- name: Security + color: 'C83852' + description: null +- name: wcgw + color: 'F6F6F8' + description: null diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml new file mode 100644 index 00000000000000..0494a146758d2a --- /dev/null +++ b/.github/workflows/sync-labels.yml @@ -0,0 +1,20 @@ +name: Sync labels +on: + push: + branches: + - master + paths: + - .github/labels.yml +jobs: + build: + runs-on: ubuntu-latest + # Labels can be manipulated with no permissions + permissions: {} + steps: + - uses: actions/checkout@v3 + - uses: micnncim/action-label-syncer@3abd5ab72fda571e69fffd97bd4e0033dd5f495c + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + manifest: .github/labels.yml + prune: false