A cross-platform desktop application for Windows, Mac and Linux to download (all or selected) photos from your photostream in their original size along with their description, title and tags.

Update (6/11/2015) – Due to the recent news about malware on installers downloaded from SourceForge, I have decided to stay completely away from it. This is the reason for the move to GitHub releases for archiving the releases.


As written on the last entry in this blog, I finally got to write something on points 1) and 2) there – the CI (continuous integration) builds that are running in parallel on AppVeyor, Travis CI and Wercker and the multi-platform installers they create and publish to the website. I wrote this up as documentation on the main GitHub repository but decided to cross-post here on the blog too.

Automated Build Process

Every commit to the master branch on the source code repository kicks off CI builds (that builds and runs all the unit tests) in three different CI services:

Any commit that has the string [deploy] in the commit message will also build the installers for all three supported platforms, using BitRock InstallBuilder.

The installers will be committed separately from the CI builds to a new branch named deploy-v<VERSION> (as an example, for the versionv1.0.2.1, the new branch will be deploy-v1.0.2.1) on the flickr-downloadr/flickr-downloadr.github.io repository.

A custom webhook on the flickr-downloadr/flickr-downloadr.github.io repo that runs on Heroku ensures that installers for all three platforms have been built successfully and then makes a commit with the name of the new branch, updated into the branch file on the flickr-downloadr/releases repository (deploy-v1.0.2.1, in the example above) and sends an email a deployment will be ready to be pushed to the website soon [see here].

In the event that any of the CI builds fail to create the installer, after at least one installer gets successfully built and committed, the custom webhook waits for 30 minutes from the first installer getting committed and sends an email notifying of a build failure [see here].

Yet another webhook on the flickr-downloadr/releases repo kicks off another build on Wercker to merge the new branch with all three installers (deploy-v1.0.2.1 branch) into the source branch on flickr-downloadr/flickr-downloadr.github.io to make it ready for push into the master branch that runs the main website. This CI job does a few other things like archiving this version to SourceForgeGitHub releases etc., as can be seen here.

The final push to the website is manual and can be done by running grunt deploy on the latest, merged version of the source branch and this will make the latest version installers current on the website.

Comments