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

Runtime versions #122

Merged
merged 7 commits into from
Jul 10, 2019
Merged

Runtime versions #122

merged 7 commits into from
Jul 10, 2019

Conversation

kinbiko
Copy link
Contributor

@kinbiko kinbiko commented Jul 4, 2019

Goal

Introduce runtime version data to the report and session payloads.

Changeset

Added

device.RuntimeVersions
device.GetRuntimeVersions()
device.AddVersion

Changed

  • Session and report payloads.
  • Revel example README (fix typo)
  • Introduced OS Name in report payload as well (already existed in session payload)

Tests

Added some unit tests, and verified that the payloads show up as expected, including the new runtime version data.

Not great

It's unfortunate that we're using a global variable for the runtime versions, but this cached value simplifies things a lot, and is relatively harmless in this package. If/when we decide to upgrade to a v2 we should get rid of all global state anyway.

Linked issues

#121 is the first commit on this branch in order to get a passing build.

Review

For the submitter, initial self-review:

  • Commented on code changes inline explain the reasoning behind the approach
  • Reviewed the test cases added for completeness and possible points for discussion
  • A changelog entry was added for the goal of this pull request
  • Check the scope of the changeset - is everything in the diff required for the pull request?
  • This pull request is ready for:
    • Initial review of the intended approach, not yet feature complete
    • Structural review of the classes, functions, and properties modified
    • Final review

For the pull request reviewer(s), this changeset has been reviewed for:

  • Consistency across platforms for structures or concepts added or modified
  • Consistency between the changeset and the goal stated above
  • Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
  • Usage friction - is the proposed change in usage cumbersome or complicated?
  • Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
  • Concurrency concerns - if components are accessed asynchronously, what issues will arise
  • Thoroughness of added tests and any missing edge cases
  • Idiomatic use of the language

kinbiko added 7 commits July 4, 2019 09:30
Gin has dropped support for these versions in its latest release.
The framework tests cannot yet be updated as the payload being sent
hasn't been modified to additionally send the runtime versions
@kinbiko kinbiko requested review from bengourley and CodeHex July 4, 2019 10:06
Copy link
Contributor

@bengourley bengourley left a comment

Choose a reason for hiding this comment

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

Looks good to me. Eyeballed and tested manually, working well.

I understand your point about hostname being global, but it's seemingly not related to this PR? Or am I missing something?

@kinbiko
Copy link
Contributor Author

kinbiko commented Jul 10, 2019

Good eye @bengourley -- that was a slip. I meant to say runtime versions instead of hostname, but the same applies (already) for hostname.

@kinbiko kinbiko merged commit 658da3c into next Jul 10, 2019
@kinbiko kinbiko deleted the runtime-versions branch July 10, 2019 15:49
@kinbiko kinbiko mentioned this pull request Jul 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants