DidRocks' blog

apt-get install freedom

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - programmation

Fil des billets - Fil des commentaires

samedi, avril 2 2016

ubuntu booth and conferences at jdll 2016

The "Journée Du Logiciel Libre" are a very nice event in Lyon (France) over a full week-end where the public is invited to come, talk and assist conferences around free software.

Of course, the Ubuntu-fr team is present and have a nice booth here.


I'm also present and give a talk about snappy Ubuntu Core against a full attendance room!


Followed by an hour workshop more focused on developers. A lot of discussions and interesting interactions here! jdll-atelier.jpg

That was a blast, thanks to everyone who attended! I'm still around tomorrow, do not hesitate to stop at the Ubuntu booth and have a chat!

mercredi, mars 30 2016

Ubuntu Make 16.03 features Eclipse JEE, Intellij EAP, Kotlin and a bunch of fixes!

I'm really delighted to announce a new Ubuntu Make release, scoring 16.03, bringing updates for a bunch of frameworks while introducing new support!


I'm also really proud as this new release features three new awesome contributors: Tankypon, adding the Superpowers game editor framework, Eakkapat Pattarathamrong, adding more tests for Visual Studio Code, and Almeida, doing some great updates to the portuguese translations!

The returning awesome work from Galileo Sartor an Omer Sheikh got us new Eclipse JEE installation support, IntelliJ IDEA EAP and Kotlin compiler. In addition to those new features, we have a lot fixes for Unity3D, Android-NDK, Clang, Visual Studio Code and Intellij-based IDEs as the server counter-part changed. The usual polish and a bunch of additional smaller incremental improvements joined the party as well! If you are interested into the nifty details, you can head over the change log.

If you can't wait to try it, grab this latest version direcly through its ppa for the 14.04 LTS, 15.10 ubuntu and xenial releases. This release wouldn't have been possible without our awesome contributors community, thanks to them again!

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

jeudi, février 11 2016

Ubuntu Make 16.02 brings Nodejs, Lighttable IDE, Spring Tools Suite and JetBrains' Datagrip

What a great Ubuntu Make release today! The best is that all of those new supports (Nodejs, Lighttable IDE, Spring Tools Suite and JeBrains' Datagrip) are all brought thanks to our awesome Ubuntu Make community!

Galileo Sartor brought a lot of goodness in previous releases, but he didn't stop there! In addition to starting reviewing other branches, he brought the nodejs and Lighttable support with extensive testsuites!


I'm sure a lot of developer will appreciate those new frameworks. In addition to that, I'm happy to announce that Galileo has now gained commit access to the project itself! This reflects his ability to quickly dive into the deep layers of the projects and very great skills and questioning when it's needed! Welcome and well done Galileo. \o/


He also implemented symlink creation in a shared bin/ directory added to user's path. This means that you will be able starting from now on to run directly from the command like "android-studio" and others UI tools when there is a desktop file associated. This is only for newly installed frameworks with Ubuntu make 16.02 and onwards.

Patricio Pérez is a newcomer to the Ubuntu Make contributor family, he jumped on bringing to us excellent Spring Tools Suite support, a customized all-in-one Eclipse based distribution that makes application development easy.

Finally, Omer Sheikh, a good well-known returning contributor, extended the JetBrains support adding the Datagrip IDE that is tailored to suit specific needs of professional SQL developers and DBAs.


You will note that we released as well 16.02.1. We needed to fix Visual Studio Code which changed its website, and thanks to a lot of excellent discussions and research from the community, we were able to publish this fix quickly! It's excellent to see both the Ubuntu Make's contributor growing and the code itself, with an excellent meritocracy spirit, based on collaborations!

As usual, you can get this latest version direcly through its ppa for the 14.04 LTS and 15.10 ubuntu releases. Xenial version is available directly in the xenial ubuntu archive. This wouldn't be possible without our awesome contributors community, thanks to them again!

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

jeudi, janvier 28 2016

Ubuntu Make 16.01.2 with Swift, eclipse php and eclipse cpp support

Last week, during UbuCon Summit, I had the pleasure to announce in sunny Pasadena a new Ubuntu Make release! Marking the 16.01.2 milestone, this one provides thanks to community contributions 3 new supported frameworks.

The first one is the new Apple's opensource language name Swift lang. A lot of people are becoming more and more excited about it, and now, getting it running on Ubuntu is just a umake swift away!


A big thank to Galileo Sartor for bringing this support! But as any awesome community story, he didn't stop here and also implemented Eclipse php and Eclipse cpp support with this new release!


Evan McIntire also implemented (as part of Google Code In) man pages that are generated directly from the --help. Now, you can get always up to date manpage help as part of our release!

The video of my talk on Ubuntu Make should be shortly be online as per of Scale/Ubucon talks. Watch this space out! Meanwhile, you can find the slides here.

As usual, you can get this latest version direcly through its ppa for the 14.04 LTS, 15.04 and 15.10 ubuntu releases. Xenial version is available directly in the xenial ubuntu archive. This wouldn't be possible withoutl our awesome contributors community, thanks to them again!

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

mardi, novembre 24 2015

JetBrains CLion and Twine game editor support in Ubuntu Make 15.11.2

It's already time for a third release of Ubuntu Make this month! Thanks to the help of existing and new contributors, here are what's noticeable on this release.

JetBrains' excellent C/C++ IDE named CLion is now available! A simple umake ide clion will get it you at your disposal!


The non linear game editor Twine (that our community team is using as well for other QA purposes) also entered this release and is just a umake games twine away!


Our ZSH users will be pleased to know that the advanced shell completion that we have in bash is now available to them. We refreshed and fixed some translations, especially in russian, portuguese and french for this release. A lot of opportunities in term of translations are available! Do not hesitate to jump in. :)

A bunch of work on tests and the testing infrastructure (cutting the testing time approximately by half!) have been done. Speaking of tests, we spotted and fixed the upstream renamed icon in Visual Studio Code thanks to one of them failing (nice to be at that level of quality granularity)! We also worked on ensuring that people using our PPA with previous ubuntu releases only download the minimal requirements and not our testing dependency (by shifting to another ppa only containing them). Of course, the contributor guide has been updated for matching all of this.

You will thus understand that we got a lot of other small fixes and enhancements with this new package. If you want to read the full and detailed list of what's in this release, please have a read here!

As usual, you can get this latest version direcly through its ppa for the 14.04 LTS, 15.04 and 15.10 ubuntu releases. Xenial version is available directly in the xenial ubuntu archive. This wouldn't be possible withoutl our awesome contributors community, thanks to them again!

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

mardi, novembre 10 2015

Netbeans and Rust support in Ubuntu Make 15.11

After some releases bringing updates, bug fixes, refactoring, tests improvements and more minor features and automations, here is time again for a noticeable feature release!

Thanks to Fabio Colella, we now have NetBeans support in Ubuntu Make! Installing it is just a umake ide netbeans away and just relax while Ubuntu Make is doing the hard work so that you can enjoy this IDE.


Another new feature is the Rust support by Jared Ravetch. umake rust will do all the necessary steps so that you get a good rust developing experience on your favorite ubuntu distro!

Eldar Khayrullin (welcome to him for his first contribution!) updated the Unity 3D game engine support to point to the latest beta released version and Sebastian Schuberth fixed an android NDK environment variable to use a more widespread one.

Other noticeable changes, following upstream webstorm IDE, are update to get their latest available icons (thanks to our test granularity level, we were able to detect this small change!), fixes for the version option, global -r working as the new global --remove, some fixes for zsh users, and as well a bunch of new translations thanks to our awesome translator community (new languages: fa, pt_BR and updated de, en_AU, en_CA, en_GB, eu, hr, it, pl, ru, te, zh_CN, zh_HK). There is of course more refactoring and other tests changes. Full glory details are available here.

As usual, all of those modifications and new features are backed up via a number of small, medium and large tests! We are currently running about 850 tests in our jenkins infrastructure (running all the tests). All commits and pull requests are tested for pep8 and small tests using Travis CI and the health status is of course reported in the README.md file.

As usual, you can get this latest version direcly through its ppa for the 14.04 LTS, 15.05 and 15.10 ubuntu releases. Xenial version is available directly in the xenial ubuntu archive. Thanks again to all our awesome contributors community! A lot more is still in the pipe, but that will be for next release!

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

jeudi, septembre 10 2015

Ubuntu Make 15.09.2 enables you to install Android SDK only.

I'm proud to announce this new Ubuntu Make release, with excellent new feature and fixes from our community.

First, welcome Sebastian Schubert to the Ubuntu Make contributor family. He did some awesome work on implementing Android SDK only support (for those not wanting to install the whole Android Studio bundle) in Ubuntu Make! As usual, this is backed up with large and medium tests to cover us, great enhancement! :)

The new option to install android sdk is:

$ umake android android-sdk

You will get into your user PATH (after next login) the expected android platform tools.

Secondly, Omer Sheikh, who already implemented language selection in firefox developer edition, came back with some heavy duty of rationalizing every exit codes accross Ubuntu Make, to ensure we always exit with the expected error code in every situation. Not only he implemented this, but also he did grow our testsuite to ensure that any bad download page are properly detected! Awesome work.

Smaller fixes sneaked in as well and you can get the full release content details here. As usual, you can get this latest version direcly through its ppa for the 14.04 LTS, 15.05 and wily ubuntu releases.

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

mardi, septembre 1 2015

Ubuntu Make 15.09 featuring experimental Unity 3D editor support

Last thurday, the Unity 3D team announced providing some experimental build of Unity editor to Linux.

This was quite an exciting news, especially for me as a personal Unity 3D user. Perfect opportunity to implements this install support in Ubuntu Make, and this is now available for download! The "experimental" comes from the fact that it's experimental upstream as well, there is only one version out (and so, no download section when we'll always fetch latest) and no checksum support. We talked about it on upstream's IRC channel and will work with them on this in the future.

Unity3D editor on Ubuntu!

Of course, all things is, as usual, backed up with tests to ensure we spot any issue.

Speaking of tests, this release as well fix Arduino download support which broke due to upstream versioning scheme changes. This is where our heavy tests investment really shines as we could spot it before getting any bug reports on this!

Various more technical "under the wood" changes went in as well, to make contributors' life easier. We got recently even more excellent contributions (it's starting to be hard for me to keep up with them to be honest due to the load!), more on that next week with nice incoming goodies which are cooking up.

The whole release details are available here. As usual, you can get this latest version direcly through its ppa for the 14.04 LTS, 15.05 and wily ubuntu releases.

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

jeudi, août 13 2015

Ubuntu Make 15.08 with Scala support and a visual studio code hot fix community story

Here is a little bit of the start of my day:

As usual, I open the Ubuntu Make large test suite running continuously against trunk and latest release package. I saw that since yesterday 7PM CEST Visual Studio Code page changed its syntax and is not downloadable anymore by Ubuntu Make.

Jumping on the github's project page, I saw a couple of bugs opened about it, and as well a pull request to fix this from a new contributor, Vartan Simonian! All this in less than 12 hours of this breakage. I just had to merge it, changing the medium tests and cut a release. Hey community work!

That made my day, it was thus high time to release this new Ubuntu Make 15.08. Notice that we are starting to follow the scheme "YY.MM" which is quite handy for versioning this kind of continously evolving projects.

Scala logo In addition to this fix, you will notice that Igor Vuk added scala support. Your always fresh-willingness of scala will now be satisfied through Ubuntu Make!

Some other fixes (progress bar out of range by Anton Antonov, new pep8 release issues found) are also part to make this a great release… And we have even more in the pipe! Thanks again to all our Ubuntu Make contributors, this makes working on this project an awesome journey!

As usual, you can get this latest version direcly in Ubuntu Wily, and through its ppa for the 14.04 LTS, 15.05 ubuntu releases.

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! If you want to be the next featured contributor and want to give an hand, you can refer to this post with useful links!

mardi, juillet 21 2015

Arduino support and various fixes in Ubuntu Make 0.9

A warm summer has started in some part of the world and holidays: beach and enjoying various refreshements!

However, the unstoppable Ubuntu Make team wasn't on a pause and we continued making improvements thanks to the vibrant community around it!

What's new in this release? First Arduino support has been added with the vast majority of work done by Tin Tvrtković. Thanks to him for this excellent work! To be able to install arduino IDE, just run:

$ umake ide arduino

Note that your user will eventually be added to the right unix group if it was not already in. In that case, it will ask you to login back to be able to communicate with your arduino device. Then, you can enjoy the arduino IDE:

Arduino IDE

Some other hilights from this release is the deprecation of the Dart Editor framework and replacement by Dart SDK one. As of Dartlang 1.11, the Dart Editor isn't supported and bundled anymore (it still exists as an independent eclipse plugin though). We thus marked the Dart Editor framework for removal only and added this Dart SDK (adding the SDK to the user's PATH) instead. This is the new default for the Dart category.

Thanks to our extensive tests, we saw that the 32 bits of Visual Studio Code page changed and wasn't thus installable anymore. It's as fixed as of this release.

A lot of other improvements (in particular in the tests writing infra and other minor fixes) are also part of 0.9. A more detailed changelog is available here.

0.9 is already available in Wily, and through its ppa, for 14.04 LTS and 15.04 ubuntu releases! Get it while it's warmhot!

jeudi, avril 30 2015

Ubuntu Make 0.7 released with Visual Studio Code support

If you followed recent news, yesterday Microsoft announced Visual Studio Code support on stage during their Build conference. One of the nice surprise was that this new IDE, focused on web and cloud platforms, is available on Mac OS X and of course, on Linux! Some screenshots were presented at the conference with Visual Studio Code running on Ubuntu in an Unity Session.

This sounded like a nice opportunity for Ubuntu Make to shine again, and we just added this new support! And yeah, it's a snappy feeling to get it delivered as fast! This release of course brings as well the required non regression large and medium tests to ensure we can track that the installation is working as expected as time pass by and detect any server-side or client-side regression.

To install it, just run:

$ umake web visual-studio-code

Here is the required screenshot of a fresh Visual Studio Code installation with Ubuntu Make!

Visual Studio Code

You can get Ubuntu Make 0.7 through its ppa, for the 14.04 LTS, 14.10 and 15.05 ubuntu releases.

Our issue tracker is full of ideas and opportunities, and pull requests remain opened for any issues or suggestions! For all the various form of contributions and how to give an hand, you can refer to this post!

mercredi, février 18 2015

Ubuntu Make community releases 0.6 with 5 new supported platforms

What always inspires me in my work is that community participation is at heart of what we are doing, and that’s what help us waking up everyday. Anybody can dive and fix small typos, bugs, or even bring big features to the table! This is exactly what happened with this new Ubuntu Make 0.6 release, entirely backed by community participation!

In addition to zsh support, you will find 5 new jetbrains IDE supported into the “ide” Ubuntu Make category, which are: RubyMine, PyCharm educational edition, PyCharm professional, WebStorm and PhpStorm! Those new ones align nicely and complete the already supported 10 platforms in Ubuntu Make, totalising thus (if I can do maths) 15 of them! Remember we started the vivid cycle with only one platform supported as it was about building solid foundations and helpers in the tool so that such contributions can exist. :) I guess there has never been a better time to be a developer using Ubuntu as their OS!

I was delighted to see such big contributions being posted as a pull requests by Anton Antonov without much more to do afterwards than slight adjustments. This testified that the overall frameworks (and tests infra as well) is easy enough to grock and that’s a huge source of satisfaction for us! I was even more excited to see that another community member who did a lot of work on Ubuntu Make (Tin Tvrtković) helped on the review and gave great advice!

Great work team! That’s the kind of things that made my day. All those niceties and excellent contributions are available as of now in Ubuntu Make 0.6 in Vivid, as well, through its ppa, to 14.04 LTS and 14.10 ubuntu releases.

Maybe you can be the next awesome contributor? Our issue tracker is full of ideas and opportunities, and pull requests remains opened for any issues or suggestions! For all the various form of contributions and how to give an hand, you can refer to this post!

jeudi, février 12 2015

Ubuntu Make 0.5 adds four new platforms

Hot from the builders, we just cut a big release of Ubuntu Make 0.5 bringing fresh new support to a bunch of IDEs and programming languages! Web developers will see great enhancements in this release, but other developers are not left out!

We welcome first a new “web” category which is hosting Dart support now! Dartlang fans would be able to get the editor and sdk installed, registered in the OS and added to the launcher in a simple command!

umake dart

and you are ready to go!

Firefox Developer Edition is now available as well under the same new “Web” category. Installing and getting a great environment for your web development is just a command away on Ubuntu!

The JetBrains suite got its Idea Ultimate edition support thanks to another excellent contribution from Tin Tvrtković. He already fixed other jetbrains support if you were redirected (based on location) over the ftp download.

Another request was to add Android NDK support. Your wish is now fulfilled under the Android category!

In addition to this, we merged latest translations coming from the community, thanks to all of you contributing to it! Please note that due to those new categories, there are new strings to be translated. It’s a nice way to get your first contribution to ubuntu make just awaiting for you!

Ubuntu Make 0.5 is already available in Vivid, as well, through its ppa, to 14.04 LTS and 14.10 ubuntu releases. For full details about the release are available here.

Our issue tracker and pull requests remains opened for any issues or suggestions!

jeudi, janvier 22 2015

Bringing appmenu support for java application and Ubuntu Make 0.4.1 with an Intellij IDEA fix

Today we released Ubuntu Make 0.4.1 which validates the application menu support for some java application using swing (like Intellij, Android Studio…) and fixes Intellij IDEA support.

Vertical screen estate is particularly valuable for developers, to maximize the place where you can visualize your code and not bother too much about the shell itself. Also, in complex menu structure, it can be hard to find the relevant items. Unity introduced a while back (2010!) the excellent application menu and then grows the HUD support to search through those menus. We even got recently new options for menu integration without renouncing on those principles. However, until now, some java-based IDEs didn't get default appmenu and HUD support. It was time to get that fixed with our Ubuntu Loves Developers focus!

Appmenu support in intellij IDEA

The application menu support is installed by default on Ubuntu Vivid thanks to our work with jayatana's excellent contributor Dan Jared! We did some cleaning and worked with him to get jayatana into ubuntu vivid, and then, promote it on the Ubuntu Desktop image[1]. On older releases, we pushed jayatana into the Ubuntu Make ppa and every new install through that tool will install as well this support as needed.

We also saw jetbrains changing their download page structure, making Intellij IDEA not being installable anymore. Less than 24 hours after a bug report being opened, we got this new 0.4.1 release including a fix from Intellij IDEA support contributor to Ubuntu Make, Tin Tvrtković. Big kudos to him for the prompt reaction! The tests have also been updated to reflect this new page structure.

Those nice goodies and fixes are available on ubuntu vivid (ensure you install Ubuntu Make 0.4.1), and as well, through its ppa for 14.04 LTS and 14.10 ubuntu releases. Keep in mind that you need to restart your session once jayatana has been installed to get the menu export to Unity available.

Another release demonstrating how the Ubuntu and Ubuntu Make community really work well together, get things quickly under control and shine! If you want to help out defining and contributing in making Ubuntu the best platform for developers, please head here!


[1] which won't install java on the image by default, don't be scared ;)

mardi, janvier 6 2015

Ubuntu Make 0.4 starts the new year adding Go support

Ubuntu Make 0.4 has just been released and brings Go support and a new game category!

To hack using Go under Ubuntu, just open a terminal and type:

umake go

and here we "go"! This will enable developers to always install the latest Google golang version and setting up some needed environment variables for you.

We also starts thinking about game developers. Putting the code where our mouth is, we are pleased to inaugurate a new "games" section, bringing stencyl, an amazing quick and easy way to make games for multiple platforms available!

umake games stencyl

and you will be able to be creative in creating the new top seller game!

Ubuntu Make 0.4 is already available in Vivid, as well, through its ppa, to 14.04 LTS and 14.10 ubuntu releases.

If you have any idea (like a favorite IDE for go!) or some other game platforms, our issue tracker is opened for any suggestion!

On other news, the new name migration is now over with the github repository being moved under the ubuntu namespace and is now available here, waiting eagerly for your contribution!

mardi, décembre 16 2014

Ubuntu Make 0.3 brings Intellij IDEA and Pycharm support

Thanks to the continuous awesome work of Tin Tvrtković, we can now cut out a new 0.3 of Ubuntu Make (ex Ubuntu Developer Tools Center).

This one features 2 new great IDEs (under the ide category): Intellij IDEA and Pycharm, in their respective community editions. We want to thank as well the JetBrains team to have kindly provided checksums for their downloading assets so that Ubuntu Make can check the download integrity.

Of course, all those are backed up by tests (and this release needed some test fixes). We could as well detect thanks to those tests that Android Studio 1.0 was downloaded over http and switch that back to https.

All of this is in this new shiny 0.3 Ubuntu Make release, available in ubuntu vivid and in its ppa for older ubuntu releases!

Please note that we also moved the last piece under the new Ubuntu Make umbrella: the official github repo address is now at https://github.com/ubuntu/ubuntu-make. We have redirections from the old address to the new one, and of course, we updated the documentation, so no reason to not contribute! Seems that some test web frameworks can be arriving soon from our community…

lundi, novembre 24 2014

Ubuntu Developer Tools needs you for its new name!

We’ve been talking about the Ubuntu Developer Tools Center for a few months now. We’ve seen a lot of people testing it out & contributing and we had a good session at the Ubuntu Online Summit about what the near future holds for UDTC.

Also during that session, emerging from feedback we received we talked about how “UDTC” and “Ubuntu Developer Tools Centre” is a bit of mouthfull, and the acronym is quite easy to muddle. We agreed that we needed a new name, and that’s where we need your help.

We’re looking for a name which succinctly describes what the Developer Tools Center is all about, its values and philosophy. Specifically, that we are about developing ON Ubuntu, not just FOR Ubuntu. That we strive to ensure that the tools made available via the tools center are always in line with latest version delivered by the upstream developers. That we automate the testing and validation of this, so developers can rely on us. And that use LTS releases as our environment of choice so developers have a solid foundation on which to build. In a nutshell, a name that conveys that we love developers!

If you have a great idea for a new name please let us know by commenting on the Google+ post or by commenting on this blog post.

The final winner will be chosen by a group of Ubuntu contributors but please +1 your favorite to help us come up with a shortlist. The winner will receive the great honor of an Ubuntu T Shirt and knowing that they have changed history! We’ll close this contest by Monday 8th of December.

Now, it’s all up to you! If you want to also contribute to other parts of this ubuntu loves developers effort, you’re more than welcome!

mercredi, septembre 24 2014

Ubuntu Developer Tools Center: how do we run tests?

We are starting to see multiple awesome code contributions and suggestions on our Ubuntu Loves Developers effort and we are eagerly waiting on yours! As a consequence, the spectrum of supported tools is going to expand quickly and we need to ensure that all those different targeted developers are well supported, on multiple releases, always delivering the latest version of those environments, at anytime.

A huge task that we can only support thanks to a large suite of tests! Here are some details on what we currently have in place to achieve and ensure this level of quality.

Different kinds of tests

pep8 test

The pep8 test is there to ensure code quality and consistency checking. Tests results are trivial to interpret.

This test is running on every commit to master, on each release during package build as well as every couple of hours on jenkins.

small tests

Those are basically unit tests. They are enabling us to quickly see if we've broken anything with a change, or if the distribution itself broke us. We try to cover in particular multiple corner cases that are easy to test that way.

They are running on every commit to master, on each release during package build, every time a dependency is changed in Ubuntu thanks to autopkgtests and every couple of hours on jenkins.

large tests

Large tests are real user-based testing. We execute udtc and type in stdin various scenarios (like installing, reinstalling, removing, installing with a different path, aborting, ensuring the IDE can start…) and check that the resulting behavior is the one we are expecting.

Those tests enables us to know if something in the distribution broke us, or if a website changed its layout, the download links are modified, or if a newer version of a framework can't be launched on a particular Ubuntu version or configuration. That way, we are aware, ideally most of the time even before the user, that something is broken and can act on it.

Those tests are running every couple of hours on jenkins, using real virtual machines running an Ubuntu Desktop install.

medium tests

Finally, the medium tests are inheriting from the large tests. Thus, they are running exactly the same suite of tests, but in a Docker containerized environment, with mock and small assets, not relying on the network or any archives. This means that we ship and emulate a webserver delivering web pages to the container, pretending we are, for instance, https://developer.android.com. We then deliver fake requirements packages and mock tarballs to udtc, and running those.

Implementing a medium tests is generally really easy, for instance:

class BasicCLIInContainer(ContainerTests, test_basics_cli.BasicCLI):

"""This will test the basic cli command class inside a container"""

is enough. That means "takes all the BasicCLI large tests, and run them inside a container". All the hard work, wrapping, sshing and tests are done for you. Just simply implement your large tests and they will be able to run inside the container with this inheritance!

We added as well more complex use cases, like emulating a corrupted downloading, with a md5 checksum mismatch. We generate this controlled environment and share it using trusted containers from Docker Hub that we generate from the Ubuntu Developer Tools Center DockerFile.

Those tests are running as well every couple of hours on jenkins.

By comparing medium and large tests, as the first is in a completely controlled environment, we can decipher if we or the distribution broke us, or if a change from a third-party changing their website or requesting newer version requirements impacted us (as the failure will only occurs on the large tests and not in the medium for instance).

Running all tests, continuously!

As some of the tests can show the impact of external parts, being the distribution, or even, websites (as we parse some download links), we need to run all those tests regularly[1]. Note as well that we can experience different results on various configurations. That's why we are running all those tests every couple of hours, once using the system installed tests, and then, with the tip of master. Those are running on various virtual machines (like here, 14.04 LTS on i386 and amd64).

By comparing all this data, we know if a new commit introduced regressions, if a third-party broke and we need to fix or adapt to it. Each testsuites has a bunch of artifacts attached to be able to inspect the dependencies installed, the exact version of UDTC tested here, and ensure we don't corner ourself with subtleties like "it works in trunk, but is broken once installed".

jenkins test results

You can see on that graph that trunk has more tests (and features… just wait for some days before we tell more about them ;)) than latest released version.

As metrics are key, we collect code coverage and line metrics on each configuration to ensure we are not regressing in our target of keeping high coverage. That tracks as well various stats like number of lines of code.


Thanks to all this, we'll probably know even before any of you if anything is suddenly broken and put actions in place to quickly deliver a fix. With each new kind of breakage we plan to back it up with a new suite of tests to ensure we never see the same regression again.

As you can see, we are pretty hardcore on tests and believe it's the only way to keep quality and a sustainable system. With all that in place, as a developer, you should just have to enjoy your productive environment and don't have to bother of the operation system itself. We have you covered!

Ubuntu Loves Developers

As always, you can reach me on G+, #ubuntu-desktop (didrocks) on IRC (freenode), or sending any issue or even pull requests against the Ubuntu Developer Tools Center project!


[1] if tests are not running regularly, you can consider them broken anyway

mercredi, septembre 10 2014

How to help on Ubuntu Developer Tools Center

Last week, we announced our "Ubuntu Loves Developers" effort! We got some great feedback and coverage. Multiple questions arose around how to help and be part of this effort. Here is the post to answer about this :)

Our philosophy

First, let's define the core principles around the Ubuntu Developer Tools Center and what we are trying to achieve with this:

  1. UDTC will always download, tests and support the latest available upstream developer stack. No version stuck in stone for 5 years, we get the latest and the best release that upstream delivers to all of us. We are conscious that being able to develop on a freshly updated environment is one of the core values of the developer audience and that's why we want to deliver that experience.
  2. We know that developers want stability overall and not have to upgrade or spend time maintaining their machine every 6 months. We agree they shouldn't have to and the platform should "get out of my way, I've got work to do". That's the reason why we focus heavily on the latest LTS release of Ubuntu. All tools will always be backported and supported on the latest Long Term Support release. Tests are running multiple times a day on this platform. In addition to this, we support, of course, the latest available Ubuntu Release for developers who likes to live on the edge!
  3. We want to ensure that the supported developer environment is always functional. Indeed, by always downloading latest version from upstream, the software stack can change its requirements, requiring newer or extra libraries and thus break. That's why we are running a whole suite of functional tests multiple times a day, on both version that you can find in distro and latest trunk. That way we know if:
  • we broke ourself in trunk and needs to fix it before releasing.
  • the platform broke one of the developer stack and we can promptly fix it.
  • a third-party application or a website changed and broke the integration. We can then fix this really early on.

All those tests running will ensure the best experience we can deliver, while fetching always latest released version from upstream, and all this, on a very stable platform!

Sounds cool, how can I help?

Reports bugs and propose enhancements

The more direct way of reporting a bug or giving any suggestions is through the upstream bug tracker. Of course, you can always reach us out as well on social networks like g+, through the comments section of this blog, or on IRC: #ubuntu-desktop, on freenode. We are also starting to look at the #ubuntulovesdevs hashtag.

The tool is really to help developers, so do not hesitate to help us directing the Ubuntu Developer Tools Center on the way which is the best for you. :)

Help translating

We already had some good translations contributions through launchpad! Thanks to all our translators, we got Basque, Chinese (Hong Kong), Chinese (Simplified), French, Italian and Spanish! There are only few strings up for translations in udtc and it should take less than half an hour in total to add a new one. It's a very good and useful way to contribute for people speaking other languages than English! We do look at them and merge them in the mainline automatically.

Contribute on the code itself

Some people started to offer code contribution and that's a very good and motivating news. Do not hesitate to fork us on the upstream github repo. We'll ensure we keep up to date on all code contributions and pull requests. If you have any questions or for better coordination, open a bug to start the discussion around your awesome idea. We'll try to be around and guide you on how to add any framework support! You will not be alone!

Write some documentation

We have some basic user documentation. If you feel there are any gaps or any missing news, feel free to edit the wiki page! You can as well merge some of the documentation of the README.md file or propose some enhancements to it!

To give an easy start to any developers who wants to hack on udtc iitself, we try to keep the README.md file readable and up to the current code content. However, this one can deviate a little bit, if you think that any part missing/explanation requires, you can propose any modifications to it to help future hackers having an easier start. :)

Spread the word!

Finally, spreading the word that Ubuntu Loves Developers and we mean it! Talk about it on social network, tagging with #ubuntulovesdevs or in blog posts, or just chatting to your local community! We deeply care about our developer audience on the Ubuntu Desktop and Server and we want this to be known!


For more information and hopefully goodness, we'll have an ubuntu on air session session soon! We'll keep you posted on this blog when we have final dates details.

If you felt that I forgot to mention anything, do not hesitate to signal it as well, this is another form of very welcome contributions! ;)

I'll discuss next week how we maintain and runs tests to ensure your developer tools are always working and supported!

mardi, septembre 2 2014

Ubuntu loves Developers

Ubuntu is one of the best Linux platforms with an awesome desktop for regular users (and soon phone and tablets and more!) and great servers for system administrators and devops. A number of developers are choosing Ubuntu as their primary development system of choice, even if they develop for platforms other than Ubuntu itself, like doing some Android development, web development and so on.


However, even if we fill the basic needs for this audience, we decided a few months ago to start a development and integration effort to make those users completely feel at home. Ubuntu loves developers and we are going to showcase it by making Ubuntu the best available developer platform!

Sounds great! What's up then?

We decided to start by concentrating on Android developers. We'll ramp up afterwards on other use cases like Go developers, web developers, Dart… but we want to ensure we deliver a stunning experience for each targeted audience before moving on to the next topic.

After analyzing how to setup an Android development machine on Ubuntu we realized that, depending on the system, it can takes up to 9 different steps to get proper IDE integration and all the dependencies installed. The whole goal was to reduce that to one single command!

Concretely speaking, we created the Ubuntu Developer Tools Center, a command line tool which allows you to download the latest version of Android Studio (beta), alongside the latest Android SDK, and all the required dependencies (which will only ask for sudo access if you don't have all the required dependencies installed already), enable multi-arch on your system if you are on a 64 bit machine, integrate it with the Unity launcher…


As said, we focused on Android Studio (based itself on Intellij IDEA) for now as it seems that’s where Google has been focusing its Android tools development effort for over a year. However, the system is not restrictive and it will be relatively trivial in the near future to add ADT support (Android Development Tools using Eclipse)[1].


Indeed, The Ubuntu Developer Tools Center is targeted as being a real platform for all developer users on Ubuntu. We carefully implemented the base platform with a strong technical foundation, so that it's easily extensible and some features like the advanced bash shell completion will even make more sense once we added other development tools support.


We will always target first the latest Ubuntu LTS version alongside the latest version in development. Yes! It means that people who want to benefit for the extensively tested and strong base experience that a Long Term Support version offers will always be up to date on their favorite developer tools and be first-class citizen. We strongly believe that developers always want the latest available tools on a strong and solid stable base and this is one of the core principle we are focusing on.

For now, the LTS support is through our official Ubuntu Developer Tools Center ppa, but we plan to move that to the backports archive with all the newly or updated libraries. For Utopic, it's already available in the 14.10 Ubuntu archive.

Initial available version

Be aware that the Ubuntu Developer Tools Center is currently in alpha. This tool will evolve depending on your feedback, so it's up to you to suggest the direction you want it to go! A blog post on how to contribute will follow in the next days. This initial version is available in English, French and Chinese!

Another blog post will expand as well how we test this tool. For now, just be aware that the extensive test suite is running daily, and it ensures that on all supported platforms we don't break, that the Ubuntu platform itself doesn't break us, or that any 3rd party on which we rely on (like website links and so on) don't change without us spotting it. This will ensure that our tools is always working, with limited downtime.

Example: how to install Ubuntu Developer tools and then, Android Studio

Ubuntu Developer Tools Center

If you are on Ubuntu 14.04 LTS, first, add the UDTC ppa:

$ sudo add-apt-repository ppa:didrocks/ubuntu-developer-tools-center $ sudo apt-get update

Then, installing UDTC:

$ sudo apt-get install ubuntu-developer-tools-center

How to install android-studio

Simply executes[2]:

$ udtc android

And then, accept the installation path and Google license. It will download, install all requirements alongside Android Studio and latest android SDK itself, then configure and fit it into the system like by adding an Unity launcher icon…

And that's it! Happy Android application hacking on Ubuntu. You will find the familiar experience with the android emulator and sdk manager + auto-updater to always be on the latest. ;)



We welcome any ideas and feedback, as well as contributions as we'll discuss more in the next post. Meanwhile, do not hesitate to reach me on IRC (didrocks on freenode, #ubuntu-desktop as the primary channel to discuss), or on Google+. You can as well open bugs on the launchpad project or github one

I'm excited about this opportunity to work on the developer desktop. Ubuntu loves Developers, and it's all on us to create a strong developer community so that we can really make Ubuntu, the developer-friendly platform of choice!


[1] For the technical audience, the Android Studio specific part is less than 60 lines

[2] android-studio is the default for the android development platform, you can choose it explicitely by executing "$ udtc android android-studio". Refer to --help or use the bash completion for more help and hints

- page 1 de 2