{"action":"created","issue":{"url":"https://api.github.com/repos/clojure-android/lein-droid/issues/136","labels_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/136/labels{/name}","comments_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/136/comments","events_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/136/events","html_url":"https://github.com/clojure-android/lein-droid/pull/136","id":103916573,"number":136,"title":"Add Travis CI build for the sample project","user":{"login":"nablaa","id":196884,"avatar_url":"https://avatars.githubusercontent.com/u/196884?v=3","gravatar_id":"","url":"https://api.github.com/users/nablaa","html_url":"https://github.com/nablaa","followers_url":"https://api.github.com/users/nablaa/followers","following_url":"https://api.github.com/users/nablaa/following{/other_user}","gists_url":"https://api.github.com/users/nablaa/gists{/gist_id}","starred_url":"https://api.github.com/users/nablaa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nablaa/subscriptions","organizations_url":"https://api.github.com/users/nablaa/orgs","repos_url":"https://api.github.com/users/nablaa/repos","events_url":"https://api.github.com/users/nablaa/events{/privacy}","received_events_url":"https://api.github.com/users/nablaa/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/clojure-android/lein-droid/labels/enhancement","name":"enhancement","color":"009800"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-30T10:20:07Z","updated_at":"2015-08-31T15:52:57Z","closed_at":"2015-08-31T11:37:56Z","pull_request":{"url":"https://api.github.com/repos/clojure-android/lein-droid/pulls/136","html_url":"https://github.com/clojure-android/lein-droid/pull/136","diff_url":"https://github.com/clojure-android/lein-droid/pull/136.diff","patch_url":"https://github.com/clojure-android/lein-droid/pull/136.patch"},"body":"The build will compile the sample project and create an APK. We\r\nadd a new profile in the sample project configuration to define\r\nwhere the Android SDK is located in the Travis CI system."},"comment":{"url":"https://api.github.com/repos/clojure-android/lein-droid/issues/comments/136413435","html_url":"https://github.com/clojure-android/lein-droid/pull/136#issuecomment-136413435","issue_url":"https://api.github.com/repos/clojure-android/lein-droid/issues/136","id":136413435,"user":{"login":"nablaa","id":196884,"avatar_url":"https://avatars.githubusercontent.com/u/196884?v=3","gravatar_id":"","url":"https://api.github.com/users/nablaa","html_url":"https://github.com/nablaa","followers_url":"https://api.github.com/users/nablaa/followers","following_url":"https://api.github.com/users/nablaa/following{/other_user}","gists_url":"https://api.github.com/users/nablaa/gists{/gist_id}","starred_url":"https://api.github.com/users/nablaa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nablaa/subscriptions","organizations_url":"https://api.github.com/users/nablaa/orgs","repos_url":"https://api.github.com/users/nablaa/repos","events_url":"https://api.github.com/users/nablaa/events{/privacy}","received_events_url":"https://api.github.com/users/nablaa/received_events","type":"User","site_admin":false},"created_at":"2015-08-31T15:52:57Z","updated_at":"2015-08-31T15:52:57Z","body":"Good points!\r\n\r\nI had in my mind the following scenarios that we probably want to test:\r\n\r\n*Testing the compilation and APK generation of the sample project as it is when cloned from the repository* This is what new users of lein-droid probably try as the first thing. Making sure that build is always working is in my opinion important, because if new people have problems building the sample project and we have the CI build working, the problem the people have can be narrowed down to the differences in the build environment and debugging the problem should be easier.\r\n\r\n*Testing building the sample project against the version that we just pushed.* I believe this could be done so that this `lein-droid` Travis build will first build the `lein-droid` project and upload the SNAPSHOT artifact to Clojars.\r\n\r\nI'm not familiar with the Clojars upload system, but I suspect they have some kind of password/token authentication. Obviously we don't want to have the secret token in the public repository, but fortunately Travis provides a way to have [encrypted passwords/tokens available during the build time](http://docs.travis-ci.com/user/environment-variables/#Encrypting-Variables-Using-a-Public-Key).\r\n\r\nAfter the artifact is uploaded to Clojars, we can use some sed script magic or similar to replace the `lein-droid` dependency version in `project.clj` to the SNAPSHOT version that we just uploaded. After this we just build the sample app the usual way.\r\n\r\nDoes this sound reasonable?"}}