Effortless Environment Reports

Any project, any info, easy Solidarity reports

Have you ever filed a ticket on a project and been hit with a hefty script of things you have to do, just to file a ticket? It’s usually from GitHub’s issue template and includes requests like:

“Identify your OS, version of Node, CPU architecture, favorite 🍕, and current BMI round to 8 decimal places, do you want kids?”

This is, of course, wildly unpopular. But we are engineers! So we started creating CLIs to make things easier. Ionic has an info command. And so does React Native. This helps people pass along version info on these complex tool-chains when they file tickets.

Have you ever used Ignite? We made ignite doctor , too.

We have a line in our issue template that says this:

Run ignite doctor and paste the results below, including the lines with the three back-ticks

We ask for those back-ticks in our issue so the report becomes Markdown friendly. It doesn’t always work because the person filing the issue doesn’t always understand. Every project now needs one of these, Grrrrr!

Although, look at how useful these tools are for comparing environment differences, a major culprit in bugs. But we would know all about that wouldn’t we? … In fact, didn’t we recently release an open source tool for helping two developers ensure environment parity?

Couldn’t we just also add a command to our existing tool, to give people a free environment report for when they file issues? We can save the module author from having to write their own CLI on each project. They’ve defined what’s essential in their easily configured solidarity file… the project maintainer doesn’t need to write a thing! We know exactly what to report for any project.

Introducing Solidarity Report

If your project has a Solidarity file, as of version Solidarity 1.1.0 you can now simply type solidarity report and it will compile a friendly report of your environment.

Bonus: the report is printed in markdown, so it’s clean and readable in the terminal, but becomes formatted and even more readable when pasted to GitHub.

Of course, Solidarity uses itself, so I can quickly show you an example 🙃

Typing solidarity report grabs the rules from your Solidarity file and then provides an in-depth printout of the system that is clean and readable.

Now, let’s place the output in a GitHub issue, and voila!