<div dir="ltr">Hi Juan,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 20, 2016 at 12:57 PM, Juan Vuletich <span dir="ltr">&lt;<a href="mailto:JuanVuletich@zoho.com" target="_blank">JuanVuletich@zoho.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hi Folks,<br>
    <br>
    This is just great!<br>
    <br>
    I assume builds will include:<br>
    - V3, Cog, 32bitBinaries<br>
    - Spur32, Cog, 32bitBinaries<br>
    - Spur64, Cog, 64bitBinaries<br></div></blockquote><div><br></div><div>Yes.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#ffffff" text="#000000">
    <br>
    Would it also be possible to include:<br>
    - V3, Stack, 32bitBinaries<br>
    - Spur32, Stack, 32bitBinaries<br>
    - Spur64, Stack, 64bitBinaries<br>
    ?<br></div></blockquote><div><br></div><div>I think so.  Tim F tells me that Github support for open source projects is free, including disk space, so there&#39;s nothing to stop us including a comprehensive suite of VMs.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#ffffff" text="#000000">
    I think that having the non-Cog builds always green could benefit
    those platforms where code generation is not possible, and might
    ease porting to new platforms. Especially for Spur64.<br></div></blockquote><div><br></div><div>Indeed, I hope that with the new repository it will be much easier for the people who got the VM working on iPad to integrate their changes.  It should also be possible to have Linux ARM v6 (Pi) and Linux ARM v7 (Android) VMs.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#ffffff" text="#000000">
    <br>
    Thanks you all!<span class="HOEnZb"><font color="#888888"><br>
    Juan Vuletich</font></span><div><div class="h5"><br>
    <br>
    On 5/20/2016 2:28 PM, Eliot Miranda wrote:
    <blockquote type="cite">
      <pre> </pre>
      <br>
      <fieldset></fieldset>
      <br>
      <div dir="ltr">Hi All,
        <div><br>
        </div>
        <div>    here are the minutes of, and action items arising from,
          the meeting on Wednesday 18th of May to discuss moving the Cog
          svn repository to Github.  Please read if you&#39;re interested
          and discuss on vm-dev.  The major decision for the community
          to participate in is when to make the change, which we hope
          will happen in the next few weeks.  Thanks to all who attended
          the meeting and to all who have helped in making this a
          reality.  This is exciting!</div>
        <div><br>
        </div>
        <div><span>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:3pt"><span style="font-size:34.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">VM Move to Github Meeting Notes</span></p>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">The name of the organisation and
                repository was agreed to be, and has been created as</span></p>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-indent:36pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Organisation
                name: OpenSmalltalk</span></p>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-indent:36pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Repository
                name: vm</span></p>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-indent:36pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">URL: <a href="http://github.com/OpenSmalltalk/vm" target="_blank">github.com/OpenSmalltalk/vm</a></span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Administration duties:</span></p>
            <ul style="margin-top:0pt;margin-bottom:0pt">
              <li dir="ltr" style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline">
                <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Tim
                    Felgentreff</span><span style="white-space:pre-wrap;font-size:14.6667px;background-color:transparent">, David Lewis</span><span style="font-size:14.6667px;white-space:pre-wrap;background-color:transparent">, Esteban Lorenzano,
                  </span><span style="white-space:pre-wrap;font-size:14.6667px;background-color:transparent">Eliot
                    Miranda</span></p>
              </li>
            </ul>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">We decided to have everyone who
                currently has access to SVN also get write access to the
                new repository.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">There will be a master branch
                that is stable and from which releases are made using
                tags. Only administrators integrate into that branch.
                Ongoing development will be on a “dev” branch. This
                should also be kept stable for collaboration purposes,
                but breakage can happen occasionally. Contributors
                working on larger changes will do so on separate
                branches to avoid conflicts/breaking other people’s
                code.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Every commit will be tested by
                Travis (and Appveyor for Windows). Builds and tests will
                be run for Windows, Linux, and OS X, both on 32-bit,
                64-bit, and ARM (as applicable). The master will only
                ever be merged with green commits. The dev branch should
                be green, and if something breaks, but the committer has
                no access or no time to fix it, we agreed that any
                administrator may roll back the breaking change using
                git revert. This way, the breaking change is preserved
                in the history, but the current HEAD is green. We will
                also disable “force-pushing” to the repository to ensure
                that no commit history can be tampered with.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">In case of any disagreements
                about reverting other people’s code, we declared Eliot
                (*) to be the arbiter.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Release tags on the master will
                trigger Travis to build release artifacts, including
                debian packages.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">To have incremental monotonic,
                human-readable version identifiers, we decided to use
                timestamps in the form YYYYMMDDHHmm in UTC. In order to
                ensure these timestamps are included in the sources, we
                will have a commit script in the repository that any
                contributor must use to update the dev and master
                branches (**). The checkout command for any version then
                becomes “git checkout branch@{timestamp}”. Both the
                built VMs via a -version flag, and sources via a header
                file, will be marked with these timestamps.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">It was decided to leave the
                build system as-is using GNU Makefiles where available
                with a commitment to move to GNU Makefiles on Linux. We
                will use CMake to produce per-platform config files that
                identify platform facilities (such as epoll(2) vs
                kqueue(2) vs poll(s) vs select(3)).</span></p>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">We discussed ethics, which
                derive from the “if you break it, you fix it” philosophy
                and distilled it into the “administrators may revert”
                policy above.  We don’t want to prevent breakages, nor
                make people afraid of breaking things.  We merely want
                to prevent other people being affected by breakages,
                especially those that may be operating under production
                or time constraints.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">We will integrate the Github
                commit notifications with a Codespeed instance that will
                test commits for performance regressions.</span></p>
            <br>
            <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:700;vertical-align:baseline;white-space:pre-wrap">Action
                Items</span></p>
            <br>
            <ul style="margin-top:0pt;margin-bottom:0pt">
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline">
                <p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Write
                    the commit script</span></p>
              </li>
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline">
                <p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Set
                    a date for the move (sooner rather than later)</span></p>
              </li>
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline">
                <p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Move
                    the repository</span></p>
              </li>
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline">
                <p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Enable
                    automatic builds for all the platforms</span></p>
              </li>
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline">
                <p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Write
                    GNU makefiles for unix/linux</span></p>
              </li>
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Make WebHooks for
                  Commit Notifications available to anyone who wants
                  them.</span></li>
              <li style="list-style-type:disc;font-size:14.6667px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline"><span style="font-size:14.6667px;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Write CMake code to
                  generate per-platform headers (***)</span></li>
            </ul>
          </span>
          <div>
            <div dir="ltr">
              <div><span style="font-size:small;border-collapse:separate">
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>_,,,^..^,,,_<br>
                  </div>
                  <div>best, Eliot</div>
                  <div><br>
                  </div>
                  <div>(*) under protest</div>
                  <div>(**) use whatever versioning you want on your own
                    versions, but the versions in <span style="color:rgb(0,0,0);font-family:Arial;font-size:15px;text-indent:48px;white-space:pre-wrap">OpenSmalltalk/vm
                      will use this convention exclusively</span></div>
                  <div>(***) which will /not/ be called &quot;config.h&quot;, but
                    e.g. &quot;ostvmConfig.h&quot;, so as to avoid conflicts with
                    other packages using autoconf and CMake</div>
                </span></div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>