tag:help.appveyor.com,2012-11-13:/discussions/problems/14675-max_jobs-not-workingAppVeyor: Discussion 2018-08-31T19:53:36Ztag:help.appveyor.com,2012-11-13:Comment/454761912018-06-14T17:21:02Z2018-06-14T17:21:02Zmax_jobs not working?<div><p>Hi Danny,</p>
<p>Sorry for some delay with answer. It works. Can you please share <code>appveyor.yml</code> of project which does not respect <code>max_jobs</code> and links to jobs which were executed in parallel for that project?</p>
<p>Ilya,</p></div>Ilya Finkelshteyntag:help.appveyor.com,2012-11-13:Comment/454761912018-06-15T16:29:33Z2018-06-18T20:26:04Zmax_jobs not working?<div><p>Thanks for the quick reply.<br>
I have about a dozen active private repos with applications being developed. A big project among them has over 70 jobs to tackle per commit because we are building a c++ cross platform engine and applications targeting multiple OS/chips/configs.<br>
We often commit 2+ repos back to back since we might often make changes to the engine along with applications.<br>
With a single job, developers were often waiting for “the big one” to finish before their projects began building. This could take a significant amount of time and developers were canceling early and sometimes modifying the script to reduce number of jobs etc to get through it faster (since we cant cancel individual jobs to get to the few we might want to test on a feature build).<br>
I recently upgraded to the 2 job plan to try it out and was hoping to have 1 job working on each project when they go up so that developers aren’t waiting for the big one and also so developers don’t have to wait on each other.</p>
<p>below is the smallest yaml file we have with 2 jobs for reference. I removed the token and trimmed a few lines in the build section for obvious reasons posting publicly here, but the idea is still here.<br>
I’ve also attached a screenshot showing 2 jobs running side by side.<br>
I’ve also set Max_Jobs in the settings tab of the backpanel to 1 and nothing seems to work.</p>
<p>Would love to know what we’re doing wrong.</p>
<p>Thanks<br>
~Danny</p>
<pre>
<code>version: '{build}'
max_jobs: 1
skip_tags: true
environment:
build_script: ./buildscripts/build.sh
publish_package: ./buildscripts/create_deb.sh
publish_docker: ./buildscripts/create_docker.sh
access_token:
secure: <removed!>
matrix:
- arch: ArmV8
build_flags: "-DCMAKE_TOOLCHAIN_FILE=../Electrolyte-Native/cmakeModules/toolchains/EToolchain-ArmV8.cmake"
- arch: x64
build_flags: ""
image: ubuntu
test: off
install:
# install dependencies
- env
- sudo ./buildscripts/install_dependencies_appveyor.sh $arch
- echo "Finished install step"
build_script:
# do generate and compile
- $build_script $build_flags
- echo "Finished build step"
# published based on the branch we're on.
# Note: dont publish unless its one of these branches.
- if [ "$APPVEYOR_REPO_BRANCH" = "production" ]; then
$publish_package $arch VersionOne;
$publish_docker $arch;
fi
- if [ "$APPVEYOR_REPO_BRANCH" = "testing" ]; then
$publish_package $arch VersionOne-Testing;
$publish_docker $arch;
fi
# Publish docker based on arch
- echo "Finished publishing"
on_success:
- echo "Success!"</code>
</pre>
<p>[cid:<a href="mailto:image001.png@01D404A2.02E21110">image001.png@01D404A2.02E21110</a>]</p></div>Danny Bernaltag:help.appveyor.com,2012-11-13:Comment/454761912018-06-18T23:16:46Z2018-06-18T23:17:42Zmax_jobs not working?<div><p>Apparently we regressed this behavior for build matrix... Thank you for that catch! We will deploy fix today or tomorrow. Please watch this: <a href="https://github.com/appveyor/ci/issues/2450">https://github.com/appveyor/ci/issues/2450</a></p>
<p>Also I noticed that your developers sometimes need smaller subset of build jobs. Would you vote for <a href="https://github.com/appveyor/ci/issues/2299">https://github.com/appveyor/ci/issues/2299</a>? We will probably propose simpler YAML syntax for this. I wonder if this functionality -- declare some jobs subset in commit message description -- would help your devs.</p></div>Ilya Finkelshteyntag:help.appveyor.com,2012-11-13:Comment/454761912018-06-18T23:28:04Z2018-06-18T23:28:05Zmax_jobs not working?<div><p>Thanks for looking into this!</p>
<p>I looked at the feature request link you posted. I can see how it would work for some people, but in our case it would just cause text pollution in our commit messages. I feel like this is a work around using a external source to lack of interface on the GUI. A far more useful feature for us would be the ability to cancel / restart individual jobs from the web GUI directly. Or better yet, to reprioritize the build queue via drag and drop. That would enable us to get quick feedback on whether some change is a bust or not. It happens often that if a particular job passes (somewhere in the middle of a long list of jobs), then we have high confidence in the rest of them passing.</p>
<p>~Danny</p></div>Danny Bernaltag:help.appveyor.com,2012-11-13:Comment/454761912018-06-19T00:04:37Z2018-06-19T00:04:37Zmax_jobs not working?<div><p>I just posted <a href="https://github.com/appveyor/ci/issues/2299#issuecomment-398226753">simpler syntax</a> for this feature if you are interested. This might pollute commit messages less.</p>
<p><a href="https://github.com/appveyor/ci/issues/58">Restarting and cancelling</a> though old issue is high priority now, should be done soon. Also filed <a href="https://github.com/appveyor/ci/issues/2452">issue to re-order jobs</a>.</p>
<p>Now it is right time to collect those ideas, as we plan to invest in to this area this summer.</p></div>Ilya Finkelshteyn