Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeSpec Repo Issue and PR orgranization #3265

Closed
timotheeguerin opened this issue May 2, 2024 · 5 comments
Closed

TypeSpec Repo Issue and PR orgranization #3265

timotheeguerin opened this issue May 2, 2024 · 5 comments
Assignees
Labels
design:accepted Proposal for design has been discussed and accepted. triaged:core
Milestone

Comments

@timotheeguerin
Copy link
Member

timotheeguerin commented May 2, 2024

We have a bit of a mess in our labels and pr naming is inconsitent/hard to review

Labels

Area labels

  • compiler:core, compiler:emitter-framework, etc.
  • emitter:client:<lang>
  • emitter:service:<lang>
  • emitter:openapi, emitter:grpc, etc.
  • lib:http, lib:rest, lib:openapi, lib:tcgc
  • tspd
  • meta:website, meta:blog
  • ide, ide:vscode, ide:vs
  • eng General eng sys relevant to the entire repo

Kind labels

  • bug, feature, epic, docs

Process label

  • needs-triage - Automatically added on issue creation

Needs author feedback flow:

Current:

  • needs-author-feedback - Someone needs to put this label explicitly
  • no-recent-activity - after 1 week
  • close after 2 weeks
  • needs-team-attention Added back if user reply

Proposed:

  • needs-author-feedback - Someone needs to put this label explicitly
  • close after 2 weeks
  • needs-triage adds needs-triage back if user reply

Design labels

  • design:needed, design:proposed, design:approved

Breaking change labels

  • breaking-change, deprecation

Cleanup labels

Let's delete unused labels. Let's also delete low value labels if possible.

For example:

  • add-to-typespec-project - do we need this label? If so, can we remove it automatically once the issue has been added?
  • customer-reported - is this valuable?
  • client-emitter-migration - temporary label during the migration we should remove and move remaining issue in the correct area
  • API Stewardship Board - Not sure what this means?
  • DPG Impact - At the very least needs to be reworded to be useful for non-Azure to understand?
  • Epic: xyz Feel like we should use task list/sub issue or project for this instead

Issue & PR naming convention

Issue titles are just issue titles without metadata, so no prefixes, suffixes, or the like. Metadata exists in labels. This will ensure the smoothest possible experience with Chronus and other tooling, at the expense of slightly less useful commit descriptions.

Existing labels

Keep

  • bug
  • good first issue
  • needs-triage
  • needs-author-feedback

Rename

  • documentation -> meta:docs

  • Client Emitter:

    • emitter:client:<lang> -> emitter:client:<lang>
  • enhancement -> feature

  • Design: Needed -> design:needed

  • Design: Proposed -> design:proposed

  • Design: Accepted -> design:accepted

  • Service Codegen:

    • emitter:service:<lang> -> emitter:service:<lang>
  • IDE -> ide

  • Epic -> epic

  • gRPC -> emitter:protobuf

  • Json Schema -> emitter:json-schema

  • Infrastructure -> eng

  • Contains Breaking Changes -> breaking-change

  • Contains Deprecations -> deprecation

  • add-to-typespec-project -> triaged:core (can we remove after it gets added to the project, can we remove long term?)

  • Client Emitter Migration -> eng or emitter:client:X

Remove

  • 📌

  • Required for DPG 2.0

  • Post DPG 2.0

  • WS: Svc Partner Adoption

  • WS: External Developer Adoption

  • WS: Language Completeness

  • Epic: Cadl User Guide

  • Epic: Cadl language developer documentation

  • Epic: Change management & release process

  • Epic: Language verification & testing

  • Epic: Tooling help for decorators

  • Epic: Emitter Framework

  • Epic: Side-car

  • Epic: Projections to stable

  • Epic: Sub-typing

  • Epic: Refactor resource framework out of Rest lib

  • Epic: Unification of Templates etc

  • WS: Process Tools & Automation

  • WS: Code Generation

  • Epic: Cadl Metadata

  • duplicate

  • needs-team-attention

  • dependencies

  • help wanted

  • question

  • wontfix

  • Needs Estimate

  • Needs Triage

  • customer-reported

  • no-recent-activity

  • needs-customer-feedback

  • Graph Impact

  • DPG Impact

  • CLI/PSH Impact

  • Public Beta

  • OpenAI

  • Potential Breaking Changes

  • breaking-change-approved

  • MQ

  • API Stewardship Board

  • Figure if we can define this list in a file

  • Document labels, processes to CONTRIBUTING.md

  • Issues:

    • Always expect an area
    • Usually expect an impact
  • PR:

    • Should be able to assign area(s) automatically
    • Don't need the impact?

Colors

compiler:* -- typespec brand color (dark purple)
lib:* -- light purple
ide:* -- mid purple

emitter:client:* -- light yellow
emitter:server:* -- dark yellow/gold
emitter:* -- mid yellow

eng: light blue (azure brand color)
meta: mid blue
tspd: dark blue

bug, feature, epic, docs -- light grey

needs-triage -- light red
triage-accepted -- grey

design:needed -- light green
design:proposed -- mid green
design:approved -- dark green

breaking-change: mid red
deprecation: dark red

@markcowl markcowl added the design:proposed Proposal has been added and ready for discussion label May 6, 2024
@markcowl markcowl added this to the [2024] June milestone May 6, 2024
@m-nash
Copy link
Member

m-nash commented May 6, 2024

related to #3157

@m-nash
Copy link
Member

m-nash commented May 6, 2024

@timotheeguerin is the suggestion here every issue has at least one label from Area labels and one label from Impact labels? Or what exactly should a good issue look like?

@bterlson
Copy link
Member

bterlson commented May 6, 2024

I think it's fair to say almost every issue should have an area label and an impact label. Issues in the meta and eng area may not have impact labels I suppose.

@timotheeguerin
Copy link
Member Author

timotheeguerin commented May 6, 2024

Yeah I agree I think every issue should get triaged into at least an area(maybe more) and have an impact(for most)
For PRs we should be able to automatically add the area labels and that could be 1,2+ don't know if its necessary to have the impact label on the PR as well.

@markcowl
Copy link
Contributor

markcowl commented May 10, 2024

Some comments

  • change add-to-typespec-project to triage-accepted. We actually need this label to drive automation for now, but can remove the label after issues are copied into the project.
  • DPG Impact: we like to track impacts of core and library changes on various audiences, particularly DPG for client emitters and third-party for openapi3 changes. We track this in the project using a field, so I think we can remove this as a label, if we agree to use the project to track internal matters like this
  • Epic: we can just remove, IMO, we have epics in the project
  • customer-reported is probably obsolete now.

@timotheeguerin timotheeguerin added design:accepted Proposal for design has been discussed and accepted. and removed design:proposed Proposal has been added and ready for discussion labels May 10, 2024
github-merge-queue bot pushed a commit that referenced this issue May 10, 2024
Simplfy flow from discussion in #3265 

- Add `needs-author-feedback` manually -> this assign issue back to user
- 14 days without reply close the issue
- User reply remove `needs-author-feedback` and unassign user
github-merge-queue bot pushed a commit that referenced this issue May 13, 2024
Add script to sync labels to enforce the labels designed in #3265
<img width="1050" alt="image"
src="https://github.com/microsoft/typespec/assets/1031227/5ba6a134-e6d6-4a28-9cf7-99fd27c8e89e">
@timotheeguerin timotheeguerin self-assigned this May 22, 2024
@markcowl markcowl modified the milestones: [2024] June, [2024] July Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design:accepted Proposal for design has been discussed and accepted. triaged:core
Projects
None yet
Development

No branches or pull requests

4 participants