Improve source code window
- The source code window shows the test code that was executed, not the current
- Further information about changes in git can be easily found
- Retrieve URL like https://github.com/os-autoinst/os-autoinst-distri-opensuse/blame/7edabb7b7b1440db0a217d712d0d11172b1044c5/tests/x11/firefox.pm
- Show only the "interesting part"
- Could use perl and cut out the interesting portion from github
- Check if github allows us to do this
#3 Updated by RBrownSUSE over 5 years ago
why would you grab github instead of using your local git checkout?
I assume (ie. I have no idea but I'm going to write this comment anyway) because the longer-term goal would be to provide tools/links so people can see the diff between the executed tests and the currently available tests - so people can easily know the change is out of date and make an informed decision about re-running it or not
Using a local git checkout might make some of that information harder to get to (eg. PR with comments and such)
#5 Updated by RBrownSUSE over 5 years ago
an openQA reviewer wants to be able look at the Source Code window and see the version of the code that was executed in that test, in order to understand the behaviour that they are seeing in the logs, video and the screenshots
If the version of the executed code is different from either the latest available version (ie. the newest in github) or the latest deployed version (ie. the newest in local git) the openQA reviewer needs to know this in order to decide whether action is necessary to fix the problem, or just to re-run the test
=Release Manager/Developer/Casual Reviewer=
Same as the openQA reviewer, but without the abilility to reschedule the test, however knowing the issue has been changed (or not) could reduce noise towards the team and/or help encourage improvements to the Code - which is a reason for a link to the 'upstream' github instead of just relying on the local git
#6 Updated by okurz over 5 years ago
- Status changed from New to In Progress
- Assignee set to okurz
Yes, what RBrownSUSE said plus: The main reason I propose github is because openQA is web centered. Our code lives in github. Instead of trying to build everything regarding source window (+ git commit information + history + blame + PRs) into our own code we can just link to github.
I am assigning this to me as I was playing with this over the weekend and will show you a simple proof of concept. Then I am open for further feedback and you can tell if you like the "github" approach more or better "do it on our own".
#8 Updated by coolo over 5 years ago
And please make sure #8084 is implemented - which I consider more important than being able to follow the PR discussion within openQA.
I can see the requirement to record the commit id of the test run, but having a (configurable) external link to show that diff is IMO more than enough.
#9 Updated by lnussel over 5 years ago
I'm not sure I like that either. There must be an offline/internal version of the source code viewer at least. Providing a convenience link to whatever external source repo provider would be fine but loading and embedding stuff from elsewhere directly makes me nervous.
#12 Updated by firstname.lastname@example.org over 5 years ago
On Tuesday 19 January 2016 14:20:26 you wrote:
Issue #10192 has been updated by coolo.
Again: how to implement 8084 if the source viewer is external app?
I don't know and I don't see this related. I do not necessarily want to
replace the source code view that we have but provide another alternative. If
the other modules are important why not grep the log-file for every line that
was executed and provide this as an execution path? I see this is as a
different use case but all are helpful.
#23 Updated by okurz over 1 year ago
After #54965 done and with https://github.com/os-autoinst/openQA/pull/2761 which we already have deployed on o3 and osd and working nicely for custom checkouts I have the following ideas as alternatives:
- Don't change anything for non-git stuff and call it legacy
- Try to reference from local git checkouts if .git can be found in distri dir