<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    HDTestReport runPackages: #(<br>
    &nbsp;&nbsp; &nbsp;'HelpSystem-Tests'<br>
    ).<br>
    "Save and Quit"<br>
    WorldState addDeferredUIMessage: [<br>
    &nbsp;&nbsp; &nbsp;SmalltalkImage current snapshot: true andQuit: true ].<br>
    <br>
    or something more succinct:<br>
    <br>
    <meta charset="utf-8">
    <div class="line" id="LC2" style="margin: 0px; padding: 0px 0px 0px
      10px; border: 0px; "><span class="nc" style="margin: 0px; padding:
        0px; border: 0px; color: rgb(68, 85, 136); font-weight: bold; ">HDTestReport</span>
      <span class="nf" style="margin: 0px; padding: 0px; border: 0px;
        color: rgb(153, 0, 0); font-weight: bold; ">runPackages:</span>
      ((<span class="nc" style="margin: 0px; padding: 0px; border: 0px;
        color: rgb(68, 85, 136); font-weight: bold; ">WADevelopment</span>
      <span class="nf" style="margin: 0px; padding: 0px; border: 0px;
        color: rgb(153, 0, 0); font-weight: bold; ">allPackages</span></div>
    <div class="line" id="LC3" style="margin: 0px; padding: 0px 0px 0px
      10px; border: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;<span class="nf" style="margin: 0px;
        padding: 0px; border: 0px; color: rgb(153, 0, 0); font-weight:
        bold; ">select:</span> [ <span class="o" style="margin: 0px;
        padding: 0px; border: 0px; font-weight: bold; ">:</span><span
        class="nv" style="margin: 0px; padding: 0px; border: 0px; color:
        rgb(0, 128, 128); ">each</span> <span class="o" style="margin:
        0px; padding: 0px; border: 0px; font-weight: bold; ">|</span> <span
        class="nv" style="margin: 0px; padding: 0px; border: 0px; color:
        rgb(0, 128, 128); ">each</span> <span class="nf" style="margin:
        0px; padding: 0px; border: 0px; color: rgb(153, 0, 0);
        font-weight: bold; ">name</span> <span class="nf"
        style="margin: 0px; padding: 0px; border: 0px; color: rgb(153,
        0, 0); font-weight: bold; ">includesSubString:</span> <span
        class="s" style="margin: 0px; padding: 0px; border: 0px; color:
        rgb(221, 17, 68); ">'-Tests-'</span> ])</div>
    <div class="line" id="LC4" style="margin: 0px; padding: 0px 0px 0px
      10px; border: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;<span class="nf" style="margin: 0px;
        padding: 0px; border: 0px; color: rgb(153, 0, 0); font-weight:
        bold; ">collect:</span> [ <span class="o" style="margin: 0px;
        padding: 0px; border: 0px; font-weight: bold; ">:</span><span
        class="nv" style="margin: 0px; padding: 0px; border: 0px; color:
        rgb(0, 128, 128); ">each</span> <span class="o" style="margin:
        0px; padding: 0px; border: 0px; font-weight: bold; ">|</span> <span
        class="nv" style="margin: 0px; padding: 0px; border: 0px; color:
        rgb(0, 128, 128); ">each</span> <span class="nf" style="margin:
        0px; padding: 0px; border: 0px; color: rgb(153, 0, 0);
        font-weight: bold; ">name</span> ])<span class="p"
        style="margin: 0px; padding: 0px; border: 0px; ">.</span></div>
    <br>
    <br>
    &lt;the simple answer&gt;<br>
    tests.st is in the FTP directory. It contains the content above. Add
    test names as strings in the array like 'HelpSystem-Tests'. Or,
    iterate over some packages for '-Tests-'<br>
    &lt;/the simple answer&gt;<br>
    <br>
    &lt;longer explanation/probably a rant&gt;<br>
    I don't think GitHub has anything to do with it. The Pharo Jenkins
    server doesn't use it. That's just where Lukas decided to make his
    scripts available. <br>
    <br>
    <a class="moz-txt-link-freetext" href="https://github.com/renggli/builder/tree/master/scripts">https://github.com/renggli/builder/tree/master/scripts</a><br>
    <a class="moz-txt-link-freetext" href="https://github.com/renggli/builder/blob/master/build.sh">https://github.com/renggli/builder/blob/master/build.sh</a><br>
    <br>
    Lukas has a system with two parts: scripts; and, the build.sh shell
    script. There are loads of scripts lying around on the Pharo Jenkins
    server. They are attached and combined dynamically by a ~160 line
    shell script called build.sh. So you'd write something like this: <br>
    <br>
    build.sh -i Omnibrowser -i Greco -i Roman -i Etc<br>
    <br>
    That collects a bunch of scripts. All of them look like the content
    above: string names in an array. build.sh merges these scripts
    elegantly into one single stream. There is no tangible difference
    between that and having a file called tests.st where you cut and
    paste in the test names as strings. <br>
    <br>
    Is Lukas's system elegant? Yes. Do I want to wade through a ~160
    shell script to faithfully reproduce that? Let me put it this way:
    why would anybody write a shell script over ~100 lines? Even if it
    was an init script? It seems to me build.sh could have been written
    in another scripting language and been&nbsp; both shorter and easier to
    comprehend for the next guy who came along. It's not 1983.<br>
    &lt;/longer explanation/probably a rant&gt;<br>
    <br>
    Chris<br>
    <br>
    <br>
    "I don't think you can do that via the Jenkins web UI. Putting the
    scripts on
    github like Lukas did makes contributing convenient. Then you can
    have a
    really simple Jenkins job that just downloads the scripts and runs
    one."<br>
    <br>
    This is interesting, but I don't think it works that way. If I
    understand what you're saying, build.sh would pull down scripts from
    Github. I don't think that's even possible. Why does Github use SSL?
    <br>
    To password protect scripts it gives away for free? I don't think
    so. Only humans can download content from Github. Try putting a
    picture gif on Github and then link to it from the webpage you're
    building. Github uses SSL to enforce an interface. They don't want
    people linking to its resources. Pharo Jenkins has all the scripts
    locally in a directory somewhere. I don't think you can clone
    individual files on demand programmaticlly. I'm willing to be wrong,
    but I feel confident that things are as I just described. <br>
    <br>
    &nbsp;<br>
    <br>
    <br>
  </body>
</html>