Hi All,
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'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! VM Move to Github Meeting Notes The name of the organisation and repository was agreed to be, and has been created as Organisation name: OpenSmalltalk Repository name: vm URL: github.com/OpenSmalltalk/vm Administration duties:
We decided to have everyone who currently has access to SVN also get write access to the new repository. 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. 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. In case of any disagreements about reverting other people’s code, we declared Eliot (*) to be the arbiter. Release tags on the master will trigger Travis to build release artifacts, including debian packages. 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. 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)). 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. We will integrate the Github commit notifications with a Codespeed instance that will test commits for performance regressions. Action Items
_,,,^..^,,,_ best, Eliot (*) under protest (**) use whatever versioning you want on your own versions, but the versions in OpenSmalltalk/vm will use this convention exclusively (***) which will /not/ be called "config.h", but e.g. "ostvmConfig.h", so as to avoid conflicts with other packages using autoconf and CMake |
Hi,
Thank you very much to everyone involved for making this happen! Cheers, Doru > On May 20, 2016, at 7:28 PM, Eliot Miranda <[hidden email]> wrote: > > Hi All, > > 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'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! > > VM Move to Github Meeting Notes > The name of the organisation and repository was agreed to be, and has been created as > Organisation name: OpenSmalltalk > Repository name: vm > URL: github.com/OpenSmalltalk/vm > > Administration duties: > • Tim Felgentreff, David Lewis, Esteban Lorenzano, Eliot Miranda > > We decided to have everyone who currently has access to SVN also get write access to the new repository. > > 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. > > 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. > > In case of any disagreements about reverting other people’s code, we declared Eliot (*) to be the arbiter. > > Release tags on the master will trigger Travis to build release artifacts, including debian packages. > > 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. > > 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)). > 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. > > We will integrate the Github commit notifications with a Codespeed instance that will test commits for performance regressions. > > Action Items > > • Write the commit script > • Set a date for the move (sooner rather than later) > • Move the repository > • Enable automatic builds for all the platforms > • Write GNU makefiles for unix/linux > • Make WebHooks for Commit Notifications available to anyone who wants them. > • Write CMake code to generate per-platform headers (***) > > > _,,,^..^,,,_ > best, Eliot > > (*) under protest > (**) use whatever versioning you want on your own versions, but the versions in OpenSmalltalk/vm will use this convention exclusively > (***) which will /not/ be called "config.h", but e.g. "ostvmConfig.h", so as to avoid conflicts with other packages using autoconf and CMake -- www.tudorgirba.com www.feenk.com "Not knowing how to do something is not an argument for how it cannot be done." |
In reply to this post by Eliot Miranda-2
Hi Juan,
On Fri, May 20, 2016 at 12:57 PM, Juan Vuletich <[hidden email]> wrote:
Yes.
I think so. Tim F tells me that Github support for open source projects is free, including disk space, so there's nothing to stop us including a comprehensive suite of VMs.
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.
_,,,^..^,,,_ best, Eliot |
In reply to this post by Eliot Miranda-2
Cool to see that happen now. Future now looks even brighter.
Big, big thanks to anyone who was/is involved!!! Some questions: 1. Whoever has access for Squeak: is it planned to update http://www.squeakvm.org with that info? 2. Will http://www.mirandabanda.org/files/Cog/VM/ stay and get updated with binaries or will these be hosted on GitHub in the future as well? 3. Is there any effect on http://files.pharo.org/vm/ ?
Bye T.
Gesendet: Freitag, 20. Mai 2016 um 19:28 Uhr
Von: "Eliot Miranda" <[hidden email]> An: "Squeak Virtual Machine Development Discussion" <[hidden email]> Cc: "[hidden email]" <[hidden email]>, "Discussion of Cuis Smalltalk" <[hidden email]>, "Discusses Development of Pharo" <[hidden email]>, "The general-purpose Squeak developers list" <[hidden email]> Betreff: [Pharo-dev] Minutes of the Meeting to Discuss Moving Cog to Github Hi All,
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'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!
VM Move to Github Meeting Notes The name of the organisation and repository was agreed to be, and has been created as Organisation name: OpenSmalltalk Repository name: vm URL: github.com/OpenSmalltalk/vm Administration duties:
We decided to have everyone who currently has access to SVN also get write access to the new repository. 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. 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. In case of any disagreements about reverting other people’s code, we declared Eliot (*) to be the arbiter. Release tags on the master will trigger Travis to build release artifacts, including debian packages. 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. 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)). 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. We will integrate the Github commit notifications with a Codespeed instance that will test commits for performance regressions. Action Items
_,,,^..^,,,_
best, Eliot
(*) under protest
(**) use whatever versioning you want on your own versions, but the versions in OpenSmalltalk/vm will use this convention exclusively
(***) which will /not/ be called "config.h", but e.g. "ostvmConfig.h", so as to avoid conflicts with other packages using autoconf and CMake
|
In reply to this post by Eliot Miranda-2
Esteban
|
In reply to this post by Torsten Bergmann
there should not be any change there… once reunified sources we will continue producing Pharo VMs and offering them in the usual mechanisms :) Esteban |
In reply to this post by Torsten Bergmann
On Fri, May 20, 2016 at 6:22 PM, Torsten Bergmann <[hidden email]> wrote:
Thanks for the reminder. We will make that happen.
I expect everything will migrate to Github. But hopefully links can be designed so that links from mirandabanda.org point to the relevant artefacts on github.com/OpenSmalltalk/vm.
_,,,^..^,,,_ best, Eliot |
Free forum by Nabble | Edit this page |