Closed kellyselden closed 4 years ago
Hey. I'm a PM on Azure Pipelines and would be happy to help with anything y'all need.
Hey. I'm a PM on Azure Pipelines and would be happy to help with anything y'all need.
I just started playing with Azure Pipelines. I've been an AWS guy for awhile but I'm enjoying what you guys offer.
@vtbassmatt I tried getting Azure Pipelines working here as a test before trying here, but I couldn't get it working. The first issue was getting parallel working with strategy/matrix here, the second was getting the chrome install to respond here, and the third was getting the first call to npm to stop swallowing execution in multiline scripts (had to abuse &&) here. If you could help there it would be greatly appreciated.
Hey @kellyselden.
We have two strategies, parallel and matrix. They're mutually exclusive to help avoid a combinatorial explosion of jobs. Parallel is good for slicing a test suite across multiple agent; matrix is good for duplicating a job with multiple configurations. Unless you're trying to control the number of jobs which execute at once -- in which case ignore everything I said and use this:
strategy:
maxParallel: 2 # <-- number of jobs we'll queue simultaneously
matrix:
TEST_SCENARIO_1:
TEST_SCENARIO: 1
TEST_SCENARIO_2:
TEST_SCENARIO: 2
I'm not sure why Chrome won't install. If you switch to using the vs2017-win2016
image, you'll find a lot of tools already installed, including Chrome.
Not sure what's going on with npm, either. I've never had problems with a construction like this:
- script: |
npm install -g npm
npm install
npm test
displayName: 'npm install and build'
On that one, what were you seeing?
@vtbassmatt In that npm case, the npm install -g npm
would succeed, and then the job would finish. It will not run the next npm commands. If I put an echo
command first, it will run the echo
and the first npm command, then exit. It's almost like the npm is returning a strange exit code? If I join all the npm commands with &&
, it works and runs them all.
That's really odd. I wonder if there's something funny going on with line endings? Our .NET-based parsing code should be agnostic to \n
vs \r\n
. But that's all I can think of that would be different between your script and mine.
@kellyselden how's it going? Did you ever get to the bottom of the weird npm behavior?
No I haven't. It's still eluding me.
I just tried your script both ways (with &&
and on newlines) and got equivalent results. Maybe we had a transient bug on our side?
Whoops, no, I'm wrong - I see the different now. Investigating.
I think this has something to do with the npm.cmd
wrapper the npm team ships for Windows. In the three-line case, using call npm foo
instead of npm foo
fixed the problem. I still don't fully understand the issue but hopefully this unblocks you.
@vtbassmatt Thanks I will use that trick. Do you have a link to a ticket so I can add a comment why I'm using calls?
I don't. I think it's just a consequence of calling a .CMD from another .CMD, so maybe put that in the comment?
@vtbassmatt An even better workaround was to use powershell https://github.com/kellyselden/ember-cli-funnel/pull/86.
Beautiful. I'm not a PowerShell expert so I often forget to try it.
On Sat, Oct 13, 2018 at 8:01 AM Kelly Selden notifications@github.com wrote:
@vtbassmatt https://github.com/vtbassmatt An even better workaround was to use powershell kellyselden/ember-cli-funnel#86 https://github.com/kellyselden/ember-cli-funnel/pull/86.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ember-cli/ember-cli-update/issues/424#issuecomment-429536310, or mute the thread https://github.com/notifications/unsubscribe-auth/AArmK0IhrqbqP0NTz9ezhX-1l4O786mOks5ukdYtgaJpZM4WjlVV .
Here's an example of Linux/Windows azure pipelines setups for this repo:
PR: https://github.com/mike-north/ember-cli-update/pull/1 Linux Build: https://dev.azure.com/ember-cli-azure-setup/ecli-update/_build/results?buildId=11&view=logs Windows Build: https://dev.azure.com/ember-cli-azure-setup/ecli-update/_build/results?buildId=12
There's still some windows-specific stuff that needs to be figured out (line endings, test timeouts need to be increased) but I have no reason to believe there's a fundamental wall we've hit
We have a working setup w/ Linux, Windows, Chrome, Firefox, Node and Browser tests and an ember-try-like fan-out of compatibility tests, all in Azure. This may be a useful reference:
https://github.com/typed-ember/ember-cli-typescript/pull/647
Here's an example of a new ember addon Code: https://github.com/mike-north/ember-azure-addon-tests Build: https://dev.azure.com/mnorth0570/ember-azure-addon-tests/_build/results?buildId=10
Closing in favour of github actions.
https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/
It gives 10 parallel runners. See if it is better than appveyor. We are always bottlenecked on appveyor. Use https://github.com/rwjblue/ember-angle-bracket-invocation-polyfill/blob/master/.vsts-ci.yml as reference.
cc @twokul @rwjblue @Turbo87