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

rover_std: introduce new print macros #2090

Merged
merged 3 commits into from
Sep 2, 2024
Merged

rover_std: introduce new print macros #2090

merged 3 commits into from
Sep 2, 2024

Conversation

loshz
Copy link
Contributor

@loshz loshz commented Aug 30, 2024

Description

Following on from the emoji deprecation, this PR intrpduces 3 new macros: infoln!, warnln! and errln!.

An example of how the new macros look:

$ rover command 
==> This is an info message
warn: This is a warning message
error: This is an error message

Using the current Style enum defined here, coloring of text will adhere to the user’s terminal preferences. Similarly to current rover functionality, a user may set the NO_COLOR env var to disable stlyised output.

The macros will also expand format args, similarly to how println! and eprintln! work. The below usage will yield the same output:

let msg = "Hello, World!";
infoln!("some info message: {msg}");
infoln!("some info message: {}", msg);

@loshz loshz requested a review from a team as a code owner August 30, 2024 11:56
Copy link
Contributor

@jonathanrainer jonathanrainer left a comment

Choose a reason for hiding this comment

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

LGTM

@loshz loshz enabled auto-merge (squash) September 2, 2024 10:56
@loshz loshz merged commit be539ad into main Sep 2, 2024
22 checks passed
@loshz loshz deleted the loshz/print-macros branch September 2, 2024 11:15
@jonathanrainer jonathanrainer added the feature 🎉 new commands, flags, functionality, and improved error messages label Sep 4, 2024
@jonathanrainer jonathanrainer added this to the v0.26.1 milestone Sep 4, 2024
@jonathanrainer jonathanrainer mentioned this pull request Sep 4, 2024
jonathanrainer added a commit that referenced this pull request Sep 4, 2024
# [0.26.1] - 2024-09-04

## 🚀 Features

- **Respect the use of `--output` flag in the supergraph binary -
@aaronArinder PR #2045**

In testing to attempt to reduce the runtime of `supergraph compose` we
noticed that a very large proportion of the time spent (in the case of
large supergraphs) was spent printing the result to `stdout`. With this
change we add an `--output` flag to the `supergraph` binary which means
this time can be reduced significantly, leading to much faster
compositions.

- **Add `--license` flag to `rover dev` - @loshz PR #2078**

Adds the ability to pass along an offline enterprise licence to the
router when running `rover dev`

- **Remove Rayon and reduce usage of Crossbeam - @jonathanrainer PR
#2081**
  
Now that `rover` has transitioned to using an asynchronous runtime we
don't need to use Rayon any more. This also resolves a bug whereby
`rover dev` could lock up if passed a `supergraph.yaml` file with lots
of subgraphs in.

- **Introduce new print macros - @loshz PR #2090**
  
Adds three new macros to the codebase so that we can still visually
distinguish between INFO, WARNING and ERROR log lines without the use of
emoji

- **Use new print macros in place of emoji - @loshz PR #2096**

Updates the locations that previously used emoji to utilise the new
macros defined in the previous PR

## 🐛 Fixes

- **Stop Windows Installer failing if whitespace is accidentally passed
to the `rover install` command - @jonathanrainer PR #1975**

In some situations it was possible for whitespace to be passed to the
`rover install` command which then caused the installer to fail. A guard
has now been added to strip whitespace out before it is passed to the
install command.

## 🛠 Maintenance

- **Move CI to using newly create Ubuntu images - @jonathanrainer PR
#2080**

CircleCI is removing support for older Ubuntu machine images, this
brings us up to date but does **not** change any of our `glibc` support
etc.

- **Add check for aarch-64-unknown-linux-musl to installers - @loshz PR
#2079**
- **Update node.js packages - @jonathanrainer PR #2070**

  Includes `eslint` to v9.9.1 and `node` to 20.17.0

- **Update `node` CircleCI orb to v5.3.0 - @jonathanrainer PR #2071**
- **Update `apollographql/federation-rs` to v2.9.0 - @jonathanrainer PR
#1983**
- **Update `apollographql/router` to v1.52.1 - @jonathanrainer PR
#2077**
- **Update `node` Docker Image to v20.17.0 - @jonathanrainer PR #2072**
- **Update `apollographql/router` to v1.53.0 - @jonathanrainer PR
#2084**
- **Update `npm` to v10.8.3 - @jonathanrainer PR #2091**
- **Update `slackapi/slack-github-action` to v1.27.0 - @jonathanrainer
PR #2092**
- **Update `node` CircleCI orb to v6.1.0 - @jonathanrainer PR #2093**
- **Fix some bugs in the smoke tests - @jonathanrainer PR #2094**

## 📚 Documentation

- **Add `cloud config` docs - @loshz PR #2066**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 🎉 new commands, flags, functionality, and improved error messages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants