Closed Arthurvdv closed 1 month ago
I've come to the realization that this step has become unnecessary, which then kinda resolves my issue.
Creating the docker images had a wrong parameter;
- task: ALOpsDockerCreate@1
inputs:
artifacttype: Sandbox
artifactcountry: BE
versionselect: Daily
accept_insider_eula: true
includetesttoolkit: true
includetestframeworkonly: true
Changed the includetestframeworkonly
to includetestlibrariesonly
, and removed the step ALOpsAppPublish@1 step.
Yeah, we noticed it was slower since v24. Thanks for the suggestion!
We also have a large pipeline which uses the ALOpsAppPublish
-step. The step is much slower on BC24 than on BC23.
We also see an increase in compilation time using the following step:
- task: ALOpsAppCompiler@2
displayName: "ALOps - Fast Compiler apps"
condition: succeeded()
inputs:
artifactversion: $(Version)
artifactcountry: $(Localization)
artifacttype: $(EnvironmentType)
versionselect: $(ArtifactVersion)
appversiontemplate: $(CompilerArgumentForVersionNo)
preprocessorsymbols: $(preprocessorSymbols)
appfilenametemplate: "EVSBA__%APP_NAME%_%APP_VERSION%_APP.app"
alsourcepath: "$(System.DefaultWorkingDirectory)/Apps"
publishartifact: ne(variables['SBA_CreateXliff'], '1') # If we create xliff, then those will be published
failonwarnings: $(FailAppOnWarnings)
accept_insider_eula: True
We are talking increase of 2m30s on average for 14 apps. We also compile tests like this, which have increased by 3m52s on average.
When we have 2x fast compile + 3x publish steps in the same pipeline, we have an increase in pipeline runtime of 18 minutes from BC23 to BC24 with the exact same YAML.
Maybe it is having something to do with the new Cmdlets? On Viva Engage, there is thread going on these new Cmdlets being slower: https://www.yammer.com/dynamicsnavdev/#/threads/show?threadId=2746068688338944
Thanks for the link - really interesting! It for sure has something to do with "Get-NavAppInfo" being much slower (probably because of the bridge). Together with that - there are so many things that work differently in PS7/DotNetCore. One example: Split 🙈.
We have an idea on how to speed this up (basically making sure to not use Microsoft's "bridge"). We'll need time for this, as we need to do this for every single step.
If we're talking about v24 (and we should) - can you try with the pwsh
parameter to true?
We are talking about BC24.
I am unsure if it makes any difference, since in ALOpsAppCompiler@2
, there is no mention of pwsh
in the documentation:
https://docs.alops.be/ALOpsSteps/Buildstepsv2/#alops_app_compiler
I changed on the compilation step anyway and got the following results: | Run no. 1 | Run no. 2 | Run no. 3 | |
---|---|---|---|---|
With pwsh |
10m 6s | 8m 14s | 8m 10s | |
Without pwsh |
8m 30s | 8m 27s | 8m 15s |
The reason for Run no.1 with pwsh
may be because I was attached to the output in Azure Devops.
Personally I do not see any difference, but I am open to suggestions.
We did some improvements to some steps, which we'll release soon. Hopefully it has enough impact for you.
In the meantime, we did some more optimizations, so after next release, I hope you'll see some more impact.
Quite some optimizations - hopefully better (from v1.465)
Not sure if I should close this issue as the author of this issue, or that @joandrsn want to comment findings of the latest release?
Not sure if I should close this issue as the author of this issue, or that @joandrsn want to comment findings of the latest release?
What are you findings? ;-)
I have looked at some of our pipelines. One pipeline has 3 publish steps.
Old version: 1.465.6167 New version: 1.466.6266
step 1: 1min 30s faster step 2: ~15s faster step 3: ~1min faster
So far it's looking good for publishing.
The compilation is the same.
Do I need to set te pwsh: True
flag for testing this?
Depends - when you're building for v24 then yes.
I did some testing and see a 10-15% decrease in duration, great work!
Describe the bug In our pipelines we have a step to install the Test-Libraries in the container, before running the Test Suite with ALOpsAppTest@1.
We're experiencing a increased duration from 30 seconds to 4 minuten. Probably due to the changes with the release of v24.
the used yaml please provide the yaml that you used. It helps you put the yaml like this:
the output before.txt after.txt
Screenshots