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 Solidarity1.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!
The markdown makes itself beautiful. No requests for the user to do formatting is required; just simply copy and paste (or solidarity report | pbcopy
on a mac).

What do you think?
We hope this tool helps the Open Source community. We surely know it will help us.
Ideas? Feedback? Let us know:
Blog Credits:
- Blog aesthetics by the IR design team
- Special thanks to all the contributors on Solidarity
- System information by Trevor’s envinfo module
- Thanks to Jamon Holmgren for bringing in Trevor
- Blog article by Gant Laborde
