Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) by LoopedBard3 · Pull Request #2813 · dotnet/performance · GitHub
Skip to content

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test) - #2813

Merged
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain
Jan 20, 2023
Merged

Add Maui Mobile Testing to the perf repo (port from release/7.0 Test)#2813
LoopedBard3 merged 5 commits into
dotnet:mainfrom
LoopedBard3:AddMauiMobileTestingMain

Conversation

@LoopedBard3

@LoopedBard3LoopedBard3 commented Jan 3, 2023

Copy link
Copy Markdown
Member

This enables android mobile testing for Maui in the performance pipeline. This includes adding the scenarios for the Maui runs, adding some version passing capabilities, and a working queue for the runs. The first version of this is #2789, with some main branch specific changes made.

This also includes the updates made to dotnet.py to make getting the commit datetime more resilient, and changes to how _Version environment variables are saved such that they are added dynamically.

@LoopedBard3LoopedBard3 added the enhancement New feature or request label Jan 3, 2023
@LoopedBard3LoopedBard3 self-assigned this Jan 3, 2023
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 28 times, most recently from 21a8c58 to 7b55f8fCompareJanuary 5, 2023 23:26
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch 4 times, most recently from cdbe01f to 7c90323CompareJanuary 9, 2023 18:28
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 5f8024f to f398728CompareJanuary 9, 2023 23:37
@LoopedBard3
LoopedBard3 marked this pull request as ready for review January 10, 2023 21:38
…ng).
Move maui android scenario yml template to the correct place. (Private runs)
specify that it is the dotnet packs we are removing from the correlation staging
Testing the passing of links for the dotnet version.
Add rollback file for installing the maui workload on .Net versions 8 and up, and update output dir functionality to work when it is not included.
@LoopedBard3
LoopedBard3force-pushed the AddMauiMobileTestingMain branch from 0915880 to 0ef1134CompareJanuary 17, 2023 19:17
Comment threadscripts/dotnet.py
…and, and strip the getActivity output to fix error with the activity name.
@LoopedBard3

Copy link
Copy Markdown
MemberAuthor

@cincuranetcincuranet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Only minor observations, I'll leave that to your discretion.


setup_loggers(True)
precommands = PreCommands()
target_framework_wo_platform = precommands.framework.split('-')[0]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could this be, maybe, extracted and reused? Just in case we ever need to change the logic.

workload_install_args += ['--from-rollback-file', f'https://aka.ms/dotnet/maui/{target_framework_wo_platform}.json']

precommands.install_workload('maui', workload_install_args)
precommands.existing(projectdir='./dotnet-podcasts',projectfile='./src/Mobile/Microsoft.NetConf2021.Maui.csproj')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: Missing space before projectfile.


# Download what we need
with open ("MauiNuGet.config", "wb") as f:
f.write(requests.get(f'https://raw.githubusercontent.com/dotnet/maui/{target_framework_wo_platform}/NuGet.config', allow_redirects=True).content)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe this could be "maui" helper as well...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Combined this with the target_framework_wo_platform line making a single install_versioned_maui method.

Comment threadsrc/scenarios/mauiandroid/test.py Outdated

if __name__ == "__main__":
if __name__ == "__main__":
versionsreadjsonfilesaveenv(rf".\{PUBDIR}\versions.json")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Probably better to follow "standard" naming conventions and use _ in the method name.

if "PERFLAB_INLAB" in os.environ and os.environ["PERFLAB_INLAB"] == "1":
os.remove(inputfile)

def GetVersionFromDllPowershell(dll_path: str):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Name should be Python-like. You probably had brain in PS mode. :)

{
build.AdditionalData["mauiVersion"] = environment.GetEnvironmentVariable("MAUI_VERSION");
}
foreach (DictionaryEntry entry in environment.GetEnvironmentVariables()){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting.

…sc spacing, and consolidating reused maui methods into mauisharedpython. Also moved mauisharedpython from its own folder to the general shared folder since it was the only file in the maui specific shared folder.
@LoopedBard3
LoopedBard3 merged commit 5f0c813 into dotnet:mainJan 20, 2023
@LoopedBard3
LoopedBard3 deleted the AddMauiMobileTestingMain branch January 20, 2023 20:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@LoopedBard3@cincuranet@DrewScoggins