<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><blockquote type="cite" class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div class="">If we did this in the pipeline they could be significantly faster</div></div></blockquote>We might also consider not locking _all_ stage n+1 jobs behind completion of stage n. Gitlab supports this via the “needs” command <a href="https://gitlab.com/help/ci/yaml/README.md#needs" class="">https://gitlab.com/help/ci/yaml/README.md#needs</a> which allows you to run jobs immediately after their prerequisite jobs have finished regardless of stage. For example, I find that I am quite often waiting on stage 2 freebsd jobs to start in order to advance to stage 3, even after every other stage 2 job has run its course. <div class=""><div class=""><br class=""><div class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>Best regards,<br class=""><br class="">Jacob Faibussowitsch<br class="">(Jacob Fai - booss - oh - vitch)<br class="">Cell: (312) 694-3391</div></div>

</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On Jul 6, 2020, at 12:47 PM, Barry Smith <<a href="mailto:bsmith@petsc.dev" class="">bsmith@petsc.dev</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>  We should be more clever than checking just examples but also check source code. If, for example, only KSP is changed then tests could skip the sys/vec/mat levels saving time.<div class=""><br class=""></div><div class="">  If we did this in the pipeline they could be significantly faster; all the time saved not testing sys to mat for Matt's changes :-)</div><div class=""><br class=""></div><div class="">  Is there a fallacy here?</div><div class=""><br class=""></div><div class="">  Barry</div><div class=""><br class=""></div><div class="">  Need to check changes in include files as well, of course.</div><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jul 6, 2020, at 12:13 PM, Jacob Faibussowitsch <<a href="mailto:jacob.fai@gmail.com" class="">jacob.fai@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">While were on this topic, I always parse git diff —name-only $(git merge-base —fork-point master) when testing. This gives you all the files that are different between your branch and master. You can switch it out for maint if needs be.<div class=""><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Best regards,<br class=""><br class="">Jacob Faibussowitsch<br class="">(Jacob Fai - booss - oh - vitch)<br class="">Cell: (312) 694-3391</div></div>

</div>
<div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jul 6, 2020, at 12:00 PM, Barry Smith <<a href="mailto:bsmith@petsc.dev" class="">bsmith@petsc.dev</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class="">I couldn't see how Jed can avoid doing the filename hacking since alltesttargets are the hacked filenames but probably I am missing something. <br class=""><br class="">  Anyways this patch works for me based on Jed's email.<br class=""><br class="">  Barry<br class=""><span id="cid:597D9B43-C0CA-4310-8E5E-F892A58B75CF" class=""><since.patch></span><br class=""><br class=""><blockquote type="cite" class="">On Jul 6, 2020, at 9:40 AM, Jed Brown <<a href="mailto:jed@jedbrown.org" class="">jed@jedbrown.org</a>> wrote:<br class=""><br class="">It'd be possible to hack the file names, but I'd rather not duplicate that logic.<br class=""><br class="">My inclination would be to filter similar to argsearch, which requires<br class="">adding the source files to testfiles.  Then you could use<br class=""><br class=""> make test since=@<br class=""><br class="">ifdef since<br class=""> gitchanged := $(shell git diff --name-only $(since) src/)<br class="">endif<br class=""><br class="">Pierre Jolivet <<a href="mailto:pierre.jolivet@enseeiht.fr" class="">pierre.jolivet@enseeiht.fr</a>> writes:<br class=""><br class=""><blockquote type="cite" class="">Hello,<br class="">To git/regexp enthusiasts and/or test harness people: is there some script/command lying around to convert a list of modified examples (according to git) into a list understandable by the test system?<br class="">Thanks for your help,<br class="">Pierre<br class=""><br class="">PS: here is such a list<br class="">$ git status -uno<br class="">On branch master<br class="">Your branch is up to date with 'origin/master'.<br class=""><br class="">Changes not staged for commit:<br class=""> (use "git add <file>..." to update what will be committed)<br class=""> (use "git checkout -- <file>..." to discard changes in working directory)<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre"> </span>modified:   config/BuildSystem/config/types.py<br class=""><span class="Apple-tab-span" style="white-space:pre">       </span>modified:   include/petscsys.h<br class=""><span class="Apple-tab-span" style="white-space:pre">       </span>modified:   src/dm/label/tutorials/ex1f90.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>modified:   src/ksp/ksp/tests/ex16f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span>modified:   src/ksp/ksp/tutorials/ex5f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">   </span>modified:   src/ksp/ksp/tutorials/ex75f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span>modified:   src/ksp/ksp/tutorials/ex76f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span>modified:   src/ksp/ksp/tutorials/ex77f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span>modified:   src/ksp/ksp/tutorials/ex7f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">   </span>modified:   src/mat/tests/ex196f90.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">       </span>modified:   src/sys/tests/ex13f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span>modified:   src/sys/tests/ex47f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span>modified:   src/sys/tutorials/ex17f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span>modified:   src/sys/tutorials/ex2f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">       </span>modified:   src/vec/vec/tutorials/ex11f90.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>modified:   src/vec/vec/tutorials/ex18f.F90<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span>modified:   src/vec/vec/tutorials/ex1f.F90<br class=""><br class="">no changes added to commit (use "git add" and/or "git commit -a")<br class=""></blockquote></blockquote><br class=""></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></body></html>