free-wheeling / freewheeling

Freewheeling Live Looper
http://freewheeling.sourceforge.net/
GNU General Public License v2.0
107 stars 7 forks source link

Continuous Integration #18

Closed mathieugouin closed 4 years ago

mathieugouin commented 4 years ago

Hello,

I recently discovered travis-ci. I have no affiliation, but I find it very useful for open source project.

In this PR, I created the travis-ci config (.travis.yml) and modified slightly the automake required version. For some strange reason, the version of automake that gets installed on the bionic ubuntu VM is 1.15 instead of 1.16. I tried it and it works. Let me know if this can be an issue.

You can have a look at the result here: https://travis-ci.org/github/mathieugouin/freewheeling

Once you merge the PR, you would simply need to sign in to travis-ci.org with github.com, then enable the build for freewheeling.

Let me know if I can help more.

Thanks

bill-auger commented 4 years ago

ok thanks for your interest - are you a C+ programmer? - the latest changes on the 'development' branch could use more eyes, if you have some time

some suggestions for this PR - these are all minor details - feel free to follow any or none of them, if you have the time:

could you re-target the PR against the 'development' branch

i would prefer to squash all of these commits into one - i would also collapse all of the apt install commands into one command, just to make it easier to grok; such as this one, for example:

https://github.com/bill-auger/loopidity/blob/development/.travis.yml

it should not be necessary to declare the 'autotools-dev' and 'automake' dependencies explicitly - at least it was not the case, the last i used travis - debian-derived systems have a 'build-essential' package which should include such common build tools; and IIRC it is installed by default in the travis VMs - maybe soething has changed though - was there a problem building it without those?

in the case of freewheeling, as it is available in the ubuntu repos, and travis uses ubuntu VMs, all of the dependencies can probably be installed as simply as:

the change to the configure script is not necessary - that script is auto-generated; and not intended to be modified manually - the standard way to adapt the build scripts to the local system, is by running autoreconf, as the loopidity .travis.yml does

mathieugouin commented 4 years ago

Yes I'm a C++ programmer :)

I updated the travis config as you suggested. Thanks for the suggestion, much simpler in fact!

The only issue is that I had to keep liblo-dev. I don't know why, but if I remove it, the bulid-dep does not install it.

I also changed the PR to development branch.

Let me know if the file is more to your liking, then I can squash the commits. Would you provide some help regarding that? I'm fairly new to git, but I really love it! (Coming from a SVN world at work...)

Thanks again!

bill-auger commented 4 years ago

http://gitimmersion.com/ is a good crash course on using git - i dont think it describes squashing though - how to accomplish it, would depend if you use some graphical client, if the client has that feature - on the command line, in this specific case, you would run git rebase -i master - then an editor should open and you specify what to do for this rebase - if you have not setup an editor in your ~/.gitconfig, that editor may be vi - if you are not familiar with vi, you may want to set the default to something else, beforehand - it can be any text editor on your system; but the rebase will not continue until you exit the text editor - i use nano for this

$ git config --global core.editor nano
$ git rebase -i master

you could also rebase onto 'development' instead of 'master' - that would align your local replica with the proposed change on github - - its not terribly important though - the commit histories of development branches are conventionally considered to be volatile; so it can never be expected that your local checkout of a volatile branch will ever be in-sync with any other - you will often need to use git rebase, git push -f, and git pull -f when working with development branches

in the editor, you will see the un-merged commits in ascending order, like so:

pick 662d65d Create .travis.yml 
pick 2009204 Update .travis.yml
pick 08fb67f Update .travis.yml
pick cf2ef00 apt get fix
pick 4ead763 libsdl-gfx1.2-dev
pick aafcdb6 libsdl-ttf2.0-dev
pick b957435 liblo-dev
pick 19c4b46 libjack-dev
pick 1e92304 Update .travis.yml
pick 895c4c2 Update .travis.yml
pick 920ebd5 more setup config
pick 3f83ede Update .travis.yml
pick 0aa9f52 try testing w/ 1.15 version of automake
pick 866b8e2 test before_script
pick c117d24 fuild + make only, no test
pick d3430e5 also make install in the script
pick d8182d5 - simplify apt install - revert configure script mods
pick 4acbfab dependency testing
pick 49daa9b dependency testing

the available options are described in the comments below the list of commits - in this case, you want to squash them all into the top one; so keep the top entry as is: 'pick 662d65d' - then for each following entry, change: 'pick' to the single letter: 'f', then save the file and close the editor

to push the changes to this ticket:

$ git push -f github ci-setup

'github' there, is the remote name, 'origin' by default - you can always change the name to be more meaningful with

$ git remote rename <CURRENT_NAME> <NEW_NAME>
mathieugouin commented 4 years ago

Thanks a lot for your help. Don't worry, I've done a lot of linux, I love vim :)

I managed to squash the commit as you requested. Let me know if this is ok.