-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Use emojis for stage and job display names #45558
Conversation
Can we instead just rename the pipeline to be shorter? I.e. runtime's ci pipeline is just called "runtime". The official build pipeline is called "runtime-official". That would save 17 characters when displaying the job names at least on GH. Honestly, I'm not a fan of this change. I don't want to need to use a decoder ring to understand the job names in this pipeline. None other repository is doing this. |
+1. All of the example screenshots look much clearer to me in the current version than the proposed one. |
This is cool, but I agree with others that I would prefer text I can understand instead of an emoji I have to interpret. I think emojis for the OS (Apple, Windows, Android) make sense, but for the rest I would probably just try to use shorter, sensible names. Maybe we could shorten FullFramework to FullFx. I think we could probably drop the TestAsTools pipeline entirely, the point of that was to run tests from dotnet/sdk in the dotnet/installer repo, so we probably don't need it at all in branches where the repos are merged. |
I agree with others as well. The OS emojis are fine, but the rest are quite difficult to remember. I'd prefer splitting the CI pipeline into separate pipelines with shorter names for each category (and making them all required) than using the decoder emoji with one pipeline. For example:
Another option would be to split the stages in CI, so each category has a separate stage (would also shorten the name). Since the different jobs don't have interdependencies as far as I can tell, this would work fine and provide better UX. I also would question the utility of the "ContainerBased" category name. I think those could skip the category name entirely. |
Based on the feedback so far, it seems there's not interest in the original idea I proposed here. Some of the suggested changes are a good idea, but I don't have particular interest in following through with them. A PR was required to even see this concept being used, so I wasn't dead set on these changes or even this concept of these changes. I just wanted to see what it would look like and gather feedback. If anyone wants any of the other changes proposed, feel free to make a PR. An aside: There are so many limitations around handling Azure Pipelines or GitHub Checks in terms of viewability. This was more of a conceptual workaround for the fixed-width designs of both GitHub and Azure Pipelines. For GitHub, I use a GitHub Wide extension that allows me to see the full names of the jobs if the browser is fullscreen. But I haven't found/created something that allows for adjustment of the Azure Pipelines left pane when viewing job logs. It is very irritating. Also, I have a lot of personal interest in symbology and I really wanted to see what this idea looked like with my own eyes. Thanks. |
FYI Logan Bussell shared this on Teams a while ago:
|
Summary
Currently, the names of the jobs in the GitHub checks are quite long and have a lot of different parts to them. Similarly, viewing the jobs in Azure Pipelines has a similar problem when the job names are wider than the list panel width. I wanted to solve this with replacing some of the information with a fixed-width emoji.
Design
The GitHub checks are a string in this format (cannot be changed, defined by GitHub):
pipeline_name
(stage_name
job_name
)This PR doesn't change our job name. It only updates the display name of the stage and jobs. The jobs have multiple parts to their names:
Category is a concept I created because the builds have different aspects of how they run. A category represents the same/similar group of settings. This came about when merging the SDK and Installer builds together. Here's the list of categories and the emoji legend for them:
OS is for the operating system of the job. Here's the emoji legend:
Architecture and Container remain as text. They're quite specific and don't really have an easy way to map emojis to them.
For the dotnet-format jobs, I've used this format:
dotnet-format
Formatting Check
jobrepo
for theIntegration Tests
jobGitHub Concept Sampling
This isn't a full list but just a random selection showing how they'd look in the GitHub checks.
Other Change
For the
Build
andTest
steps, I've added the category name since it can be more difficult to make the emoji association. So, you'll see the text name of the category emoji in those steps.Example
GitHub PR Example
Current
Emoji
AzDO PR Example
Current
Emoji
AzDO CI (Official) Example
Current
Emoji