-
Notifications
You must be signed in to change notification settings - Fork 3.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
[NoQA] [Dashboard] - github action to feed graphite with reassure data #36480
[NoQA] [Dashboard] - github action to feed graphite with reassure data #36480
Conversation
- name: Send graphite data | ||
# run only when merged to master | ||
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main' | ||
run: echo -e "${{ steps.saveGraphiteString.outputs.GRAPHITE_STRING }}" | nc "$GRAPHITE_SERVER" "$GRAPHITE_PORT" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"$GRAPHITE_SERVER" "$GRAPHITE_PORT" - will need to be provided and set as github env variables
// Prefix path to the graphite metric | ||
const GRAPHITE_PATH = 'bucket1.reassure'; | ||
|
||
const regressionOutput = JSON.parse(fs.readFileSync('.reassure/output.json', 'utf8')); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think it'd be good to try/catch this as JSON.parse
might throw an error if the passed argument is not valid
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks! Added the error handling
@mananjadhav @mountiny One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
@mountiny does this need C+ review? Guessing not. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, lets get @johnmlee101 👀 on this for help connecting the dots
.github/actions/javascript/getGraphiteString/getGraphiteString.js
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewing but so far looks good! I'm going to modify our backend to support this but this should be very useful!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm creating an instance ubuntu-latest-reassure-tests
to use. If you want to switch over
runs-on: ubuntu-latest
to that.
Our back-end change is being reviewed right now! |
@johnmlee101 I modified the machine name, thanks! |
I added the changes according to discussion here: https://callstack-hq.slack.com/archives/C05LX9D6E07/p1708617316460239 The flow was tested using testing branch and merged here: #37298 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple NABs I dont think we have to hold on those
const graphiteString = reassureTests | ||
.map((test) => { | ||
const current = test.current; | ||
// Graphite doesn't accept metrics name with space, we replace spaces with "-" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// Graphite doesn't accept metrics name with space, we replace spaces with "-" | |
// Graphite doesn't accept metrics name with space, we replace spaces with "-" |
const current = test.current; | ||
// Graphite doesn't accept metrics name with space, we replace spaces with "-" | ||
const formattedName = current.name.split(' ').join('-'); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.47-0 🚀
|
🚀 Deployed to production by https://github.com/roryabraham in version: 1.4.47-10 🚀
|
Details
We need to parse reassure output file and make the call to the graphite server with the reassure data. The action should be triggered after merging to master.
The flow for collecting the reassure data:
Then we should be able to access the data in grafana using graphite plugin
Fixed Issues
$ #29274
PROPOSAL: #29274 (comment)
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop