dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.88k stars 4.63k forks source link

[wasm] Blazor AOT in Azure DevOps Pipeline timing out after one hour #69479

Closed dkboon01 closed 2 years ago

dkboon01 commented 2 years ago

Is there an existing issue for this?

Describe the bug

Is there any documentation on Azure DevOps pipeline changes that are required so that pipeline successfully builds a blazor wasm project with AOT set to true? My pipeline fails saying that it has timed out after 1 hour. I'm wondering if it requires more time and/or more memory If this is the wrong forum please let me know where to put this question. I am stuck. If I turn AOT = false the pipeline is successfully.

Expected Behavior

No response

Steps To Reproduce

No response

Exceptions (if any)

No response

.NET Version

No response

Anything else?

No response

TanayParikh commented 2 years ago

We don't have any specific documentation on setting up Blazor AoT on Azure Pipelines but it is certainly possible (we are currently run an AoT Azure pipeline for our integration tests).

Is there any specific error in the logs, or some indication of what step it's stuck on?

Also, have you made sure to install the appropriate workloads for AoT?

javiercn commented 2 years ago

@dkboon01 thanks for contacting us.

I would suggest running the build locally to compute how long it takes locally to get a sense of the time it would take on CI. I don't think the build will just get stuck if the pipeline doesn't have the AoT workloads, it will likely fail inmediately.

I'm moving this to the runtime repo since they'll be able to provide a better and faster answer. /cc: @radical

dotnet-issue-labeler[bot] commented 2 years ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

dkboon01 commented 2 years ago

Here is the pipeline:

# ASP.NET Core

# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger: none

  pool:
  vmImage: windows-latest

variables:
  buildConfiguration: 'Release'
  dotNetFramework: 'net6.0'
  dotNetVersion: '6.0.x'

steps:

- task: UseDotNet@2
  inputs:
    version: $(dotNetVersion)
    includePreviewVersions: true

**# needed for AOT wasm tools -----> Not for sure if I need this or not?
#- task: CmdLine@2      # used for AOT
#  inputs:
#    script: 'dotnet workload install wasm-tools'**

- task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution:  '**/ABCBlazor/ABCBlazor.csproj'
    feedsToUse: 'select'
    vstsFeed: '9be90141-7ea0-45d0-bd9b-512dd2e3380e'
    noCache: true

- script: dotnet build ABCServices --configuration $(buildConfiguration)
  displayName: 'dotnet ABCServices build $(buildConfiguration)'

- script: dotnet build ABCDispatchComponents --configuration $(buildConfiguration)
  displayName: 'dotnet ABCDispatchComponents build $(buildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: 'Publish app ABC Blazor'
  inputs:
    projects:   '**/ABCBlazor/ABCBlazor.csproj'
    command: publish
    publishWebProjects: false
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: false
# this code takes all the files in $(Build.ArtifactStagingDirectory) and uploads them as an artifact of your build.
- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Build.ArtifactStagingDirectory)' 
    artifactName: 'ABCAppForBlazor'
dkboon01 commented 2 years ago

This pipeline never finishes. It timed out after an hour. I'm using Microsoft.Authentication.WebAssembly.Msal this package to login to my blazor wasm project. I assume I need to install the wasm-tools. Do I need to anything special in the .csproj file so that AOT skips over it and does not include it?

ghost commented 2 years ago

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

Issue Details
### Is there an existing issue for this? - [X] I have searched the existing issues ### Describe the bug Is there any documentation on Azure DevOps pipeline changes that are required so that pipeline successfully builds a blazor wasm project with AOT set to true? My pipeline fails saying that it has timed out after 1 hour. I'm wondering if it requires more time and/or more memory If this is the wrong forum please let me know where to put this question. I am stuck. If I turn AOT = false the pipeline is successfully. ### Expected Behavior _No response_ ### Steps To Reproduce _No response_ ### Exceptions (if any) _No response_ ### .NET Version _No response_ ### Anything else? _No response_
Author: dkboon01
Assignees: -
Labels: `arch-wasm`, `untriaged`
Milestone: -
radical commented 2 years ago

You need the wasm-tools workload to AOT. Do you want to skip Microsoft.Authentication.WebAssembly.Msal because AOT is taking too long?

Can you share the build output when it is timing out?

ghost commented 2 years ago

This issue has been marked needs-author-action and may be missing some important information.

ghost commented 2 years ago

This issue has been automatically marked no-recent-activity because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove no-recent-activity.

ghost commented 2 years ago

This issue will now be closed since it had been marked no-recent-activity but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days.