[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

@radical@lewing@akoeplinger
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

@radical@lewing@akoeplinger
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

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

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

@radical@lewing@akoeplinger
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

@radical@lewing@akoeplinger
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

@radical@lewing@akoeplinger
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

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

[wasm] Don't use workload for tfm < net6.0 - #56606

Merged
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0
Aug 15, 2021
Merged

[wasm] Don't use workload for tfm < net6.0#56606
lewing merged 12 commits into
dotnet:mainfrom
radical:wasm-skip-workload-5.0

Conversation

@radical

@radicalradical commented Jul 30, 2021

Copy link
Copy Markdown
Member

If the project requires the workload (eg. for AOT), but the project targets <net6.0, then error out before Publish.

To support this, the Wasm.Build.Tests not support testing with sdk, with no workload installed.

Currently, Wasm.Build.Tests are run in two modes:

  1. sdk($(SdkVersionForWorkloadTesting))+workload installed
  2. sdk(from global.json)+EMSDK+LocalBuild targets

this commit changes (2) to:

  1. sdk($(SdkVersionForWorkloadTesting)), no workload installed, +
    EMSDK+LocalBuild targets

This makes it closer to what a user would actually use.

Also, for the workload tests, this removes $(WasmNativeWorkload)
always being set to true. The workload should be setting that, and not
the tests.

Fixes#54308

@radicalradical added arch-wasm WebAssembly architecture area-Build-mono labels Jul 30, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #54308

Author:radical
Assignees:-
Labels:

arch-wasm, area-Build-mono

Milestone:-

akoeplinger
akoeplinger previously requested changes Jul 30, 2021
@radical
radical requested a review from akoeplingerJuly 31, 2021 03:28

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we probably want an error/warning that explains this?

@radical

radical commented Aug 1, 2021

Copy link
Copy Markdown
MemberAuthor

I think we probably want an error/warning that explains this?

I've made it an error when the project requires a workload, but we have to disable it due to tfm<net6.0 . And emitting the error before publish, since that's when the workload would have kicked in. It will be changed to run before build, once we move to that from publish.

@radical
radical requested a review from lewingAugust 1, 2021 01:10

@akoeplingerakoeplingerAug 2, 2021

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: there are still a bunch of .css, .razor, weather.json, favicon.ico etc assets that don't seem relevant if we're not running the app so we could get rid of them too as having this Main() here should be enough to test the workload behavior right?

It looks good to me otherwise :)

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.

Removing the razor files, it ends up with pretty much an empty Main. I think, it would be preferable to have the razor files around at least, so they can get processed by the build. I'll remove the other files that are needed for running.

@radicalradical added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2021
@radical

Copy link
Copy Markdown
MemberAuthor

I think this needs some fixes right now, so marked it no-merge.

@radical

Copy link
Copy Markdown
MemberAuthor

I had to make bigger changes to test the case of testing with latest sdk, and no workload installed. And that exposed other issues, so there are new changes here now. And I'll re-request for review, once I have it working on helix too.

@radical
radical marked this pull request as draft August 3, 2021 04:50
@radical

Copy link
Copy Markdown
MemberAuthor

/azp run runtime,runtime-staging

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Currently, Wasm.Build.Tests are run in two modes:
1. sdk(`$(SdkVersionForWorkloadTesting)`)+workload installed
2. sdk(from global.json)+EMSDK+LocalBuild targets
this commit changes (2) to:
2. sdk(`$(SdkVersionForWorkloadTesting)`), no workload installed, +
EMSDK+LocalBuild targets
This makes it closer to what a user would actually use.
Also, for the workload tests, this removes `$(WasmNativeWorkload)`
always being set to `true`. The workload should be setting that, and not
the tests.
@radical
radicalforce-pushed the wasm-skip-workload-5.0 branch from 790c3f0 to 6fa0efeCompareAugust 3, 2021 18:50
@radical

Copy link
Copy Markdown
MemberAuthor

Remaining test failure is waiting on #56606 .

@radicalradical removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 3, 2021
@radical
radical marked this pull request as ready for review August 3, 2021 22:01
@radical

Copy link
Copy Markdown
MemberAuthor

Blocked on #56974 to get the emsdk update.

@radical

Copy link
Copy Markdown
MemberAuthor

Installer test failure is #57243 , unrelated to this PR.

@radical

Copy link
Copy Markdown
MemberAuthor

This could use some testing with VS, runtime/library tests, and blazorwasm projects.

@lewinglewing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good, I'll do some manual testing then approve.

@lewing
lewing merged commit 98ca2ff into dotnet:mainAug 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Sep 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-Build-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error when publishing a .NET 5 Blazor WebAssembly app using the .NET 6 SDK with the .NET WebAssembly workload installed

3 participants

@radical@lewing@akoeplinger