{"action":"created","comment":{"url":"https://api.github.com/repos/ropenscilabs/tic/pulls/comments/206395483","pull_request_review_id":141795936,"id":206395483,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNjM5NTQ4Mw==","diff_hunk":"@@ -0,0 +1,104 @@\n+---\n+title: \"The advantages of tic\"\n+author: \"Patrick Schratz, Kirill Müller\"\n+date: \"`r Sys.Date()`\"\n+output: rmarkdown::html_vignette\n+vignette: >\n+  %\\VignetteIndexEntry{Kirill Müller}\n+  %\\VignetteEngine{knitr::rmarkdown}\n+  %\\VignetteEncoding{UTF-8}\n+---\n+\n+```{r setup, include = FALSE}\n+knitr::opts_chunk$set(\n+  collapse = TRUE,\n+  comment = \"#>\"\n+)\n+```\n+\n+# The advantages of tic\n+\n+So, what's the advantage of using `tic` over the standard CI process?\n+\n+## CI-Agnostic workflows\n+\n+What does \"CI-Agnostic\" mean and why do we need it?\n+\n+You may have heard that multiple CI services exist in the wild.\n+Some are OS specific (e.g. Appveyor = Windows), some only support certain languages and for some you need to pay a monthly rate to use them.\n+What all have in common: They have their own way to specify their setup file, which is most often written in YAML and stored at the top-level directory of your repo.\n+This setup file controls what will be done in each run.\n+\n+To give you an example how different these files can be, take a look at these two examples from [Travis](https://github.com/tidyverse/dplyr/blob/master/.travis.yml) and [Appveyor](https://github.com/tidyverse/dplyr/blob/master/appveyor.yml).\n+While `Travis` is the only free CI services with a stable support for R (maintained by the community, specifically by @jimhester), `Appveyor` currently requires quite some magic (e.g. `travis-tool.sh`) in the background to install a working R framework in the first place. \n+\n+We could list way more differences - but that's exactly the point when `tic` comes in!\n+Rather than dealing with all the CI differences, `tic` enables the specification of the complete workflow in an external R script file `tic.R`.\n+The commands specified in there will be understood on every CI service that is supported by `tic`.","path":"vignettes/tic-advantages.Rmd","position":37,"original_position":37,"commit_id":"5074d7ce8f8255fa60f32f7362903a7e019b3fc1","original_commit_id":"5074d7ce8f8255fa60f32f7362903a7e019b3fc1","user":{"login":"krlmlr","id":1741643,"node_id":"MDQ6VXNlcjE3NDE2NDM=","avatar_url":"https://avatars0.githubusercontent.com/u/1741643?v=4","gravatar_id":"","url":"https://api.github.com/users/krlmlr","html_url":"https://github.com/krlmlr","followers_url":"https://api.github.com/users/krlmlr/followers","following_url":"https://api.github.com/users/krlmlr/following{/other_user}","gists_url":"https://api.github.com/users/krlmlr/gists{/gist_id}","starred_url":"https://api.github.com/users/krlmlr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krlmlr/subscriptions","organizations_url":"https://api.github.com/users/krlmlr/orgs","repos_url":"https://api.github.com/users/krlmlr/repos","events_url":"https://api.github.com/users/krlmlr/events{/privacy}","received_events_url":"https://api.github.com/users/krlmlr/received_events","type":"User","site_admin":false},"body":"...and also allows emulating your CI run locally.","created_at":"2018-07-31T05:03:54Z","updated_at":"2018-07-31T05:15:28Z","html_url":"https://github.com/ropenscilabs/tic/pull/68#discussion_r206395483","pull_request_url":"https://api.github.com/repos/ropenscilabs/tic/pulls/68","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/ropenscilabs/tic/pulls/comments/206395483"},"html":{"href":"https://github.com/ropenscilabs/tic/pull/68#discussion_r206395483"},"pull_request":{"href":"https://api.github.com/repos/ropenscilabs/tic/pulls/68"}}},"pull_request":{"url":"https://api.github.com/repos/ropenscilabs/tic/pulls/68","id":204926143,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA0OTI2MTQz","html_url":"https://github.com/ropenscilabs/tic/pull/68","diff_url":"https://github.com/ropenscilabs/tic/pull/68.diff","patch_url":"https://github.com/ropenscilabs/tic/pull/68.patch","issue_url":"https://api.github.com/repos/ropenscilabs/tic/issues/68","number":68,"state":"open","locked":false,"title":"New vignettes","user":{"login":"krlmlr","id":1741643,"node_id":"MDQ6VXNlcjE3NDE2NDM=","avatar_url":"https://avatars0.githubusercontent.com/u/1741643?v=4","gravatar_id":"","url":"https://api.github.com/users/krlmlr","html_url":"https://github.com/krlmlr","followers_url":"https://api.github.com/users/krlmlr/followers","following_url":"https://api.github.com/users/krlmlr/following{/other_user}","gists_url":"https://api.github.com/users/krlmlr/gists{/gist_id}","starred_url":"https://api.github.com/users/krlmlr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krlmlr/subscriptions","organizations_url":"https://api.github.com/users/krlmlr/orgs","repos_url":"https://api.github.com/users/krlmlr/repos","events_url":"https://api.github.com/users/krlmlr/events{/privacy}","received_events_url":"https://api.github.com/users/krlmlr/received_events","type":"User","site_admin":false},"body":"on top of #63, by @pat-s.","created_at":"2018-07-30T20:51:07Z","updated_at":"2018-07-31T05:15:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f0a9d9feb416d600e776f16c61acbd41b3dbca07","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ropenscilabs/tic/pulls/68/commits","review_comments_url":"https://api.github.com/repos/ropenscilabs/tic/pulls/68/comments","review_comment_url":"https://api.github.com/repos/ropenscilabs/tic/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ropenscilabs/tic/issues/68/comments","statuses_url":"https://api.github.com/repos/ropenscilabs/tic/statuses/5074d7ce8f8255fa60f32f7362903a7e019b3fc1","head":{"label":"pat-s:f-new-vignette","ref":"f-new-vignette","sha":"5074d7ce8f8255fa60f32f7362903a7e019b3fc1","user":{"login":"pat-s","id":8430564,"node_id":"MDQ6VXNlcjg0MzA1NjQ=","avatar_url":"https://avatars3.githubusercontent.com/u/8430564?v=4","gravatar_id":"","url":"https://api.github.com/users/pat-s","html_url":"https://github.com/pat-s","followers_url":"https://api.github.com/users/pat-s/followers","following_url":"https://api.github.com/users/pat-s/following{/other_user}","gists_url":"https://api.github.com/users/pat-s/gists{/gist_id}","starred_url":"https://api.github.com/users/pat-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pat-s/subscriptions","organizations_url":"https://api.github.com/users/pat-s/orgs","repos_url":"https://api.github.com/users/pat-s/repos","events_url":"https://api.github.com/users/pat-s/events{/privacy}","received_events_url":"https://api.github.com/users/pat-s/received_events","type":"User","site_admin":false},"repo":{"id":125741916,"node_id":"MDEwOlJlcG9zaXRvcnkxMjU3NDE5MTY=","name":"tic","full_name":"pat-s/tic","owner":{"login":"pat-s","id":8430564,"node_id":"MDQ6VXNlcjg0MzA1NjQ=","avatar_url":"https://avatars3.githubusercontent.com/u/8430564?v=4","gravatar_id":"","url":"https://api.github.com/users/pat-s","html_url":"https://github.com/pat-s","followers_url":"https://api.github.com/users/pat-s/followers","following_url":"https://api.github.com/users/pat-s/following{/other_user}","gists_url":"https://api.github.com/users/pat-s/gists{/gist_id}","starred_url":"https://api.github.com/users/pat-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pat-s/subscriptions","organizations_url":"https://api.github.com/users/pat-s/orgs","repos_url":"https://api.github.com/users/pat-s/repos","events_url":"https://api.github.com/users/pat-s/events{/privacy}","received_events_url":"https://api.github.com/users/pat-s/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pat-s/tic","description":"Tasks Integrating Continuously: CI-Agnostic Workflow Definitions","fork":true,"url":"https://api.github.com/repos/pat-s/tic","forks_url":"https://api.github.com/repos/pat-s/tic/forks","keys_url":"https://api.github.com/repos/pat-s/tic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pat-s/tic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pat-s/tic/teams","hooks_url":"https://api.github.com/repos/pat-s/tic/hooks","issue_events_url":"https://api.github.com/repos/pat-s/tic/issues/events{/number}","events_url":"https://api.github.com/repos/pat-s/tic/events","assignees_url":"https://api.github.com/repos/pat-s/tic/assignees{/user}","branches_url":"https://api.github.com/repos/pat-s/tic/branches{/branch}","tags_url":"https://api.github.com/repos/pat-s/tic/tags","blobs_url":"https://api.github.com/repos/pat-s/tic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pat-s/tic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pat-s/tic/git/refs{/sha}","trees_url":"https://api.github.com/repos/pat-s/tic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pat-s/tic/statuses/{sha}","languages_url":"https://api.github.com/repos/pat-s/tic/languages","stargazers_url":"https://api.github.com/repos/pat-s/tic/stargazers","contributors_url":"https://api.github.com/repos/pat-s/tic/contributors","subscribers_url":"https://api.github.com/repos/pat-s/tic/subscribers","subscription_url":"https://api.github.com/repos/pat-s/tic/subscription","commits_url":"https://api.github.com/repos/pat-s/tic/commits{/sha}","git_commits_url":"https://api.github.com/repos/pat-s/tic/git/commits{/sha}","comments_url":"https://api.github.com/repos/pat-s/tic/comments{/number}","issue_comment_url":"https://api.github.com/repos/pat-s/tic/issues/comments{/number}","contents_url":"https://api.github.com/repos/pat-s/tic/contents/{+path}","compare_url":"https://api.github.com/repos/pat-s/tic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pat-s/tic/merges","archive_url":"https://api.github.com/repos/pat-s/tic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pat-s/tic/downloads","issues_url":"https://api.github.com/repos/pat-s/tic/issues{/number}","pulls_url":"https://api.github.com/repos/pat-s/tic/pulls{/number}","milestones_url":"https://api.github.com/repos/pat-s/tic/milestones{/number}","notifications_url":"https://api.github.com/repos/pat-s/tic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pat-s/tic/labels{/name}","releases_url":"https://api.github.com/repos/pat-s/tic/releases{/id}","deployments_url":"https://api.github.com/repos/pat-s/tic/deployments","created_at":"2018-03-18T15:55:24Z","updated_at":"2018-07-10T21:26:04Z","pushed_at":"2018-07-25T21:27:09Z","git_url":"git://github.com/pat-s/tic.git","ssh_url":"git@github.com:pat-s/tic.git","clone_url":"https://github.com/pat-s/tic.git","svn_url":"https://github.com/pat-s/tic","homepage":"https://ropenscilabs.github.io/tic","size":383,"stargazers_count":0,"watchers_count":0,"language":"R","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ropenscilabs:f-new-vignette","ref":"f-new-vignette","sha":"96bc0a7cf9adc6661ac3bd0b66b66378bbca5cc0","user":{"login":"ropenscilabs","id":16314060,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE2MzE0MDYw","avatar_url":"https://avatars3.githubusercontent.com/u/16314060?v=4","gravatar_id":"","url":"https://api.github.com/users/ropenscilabs","html_url":"https://github.com/ropenscilabs","followers_url":"https://api.github.com/users/ropenscilabs/followers","following_url":"https://api.github.com/users/ropenscilabs/following{/other_user}","gists_url":"https://api.github.com/users/ropenscilabs/gists{/gist_id}","starred_url":"https://api.github.com/users/ropenscilabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ropenscilabs/subscriptions","organizations_url":"https://api.github.com/users/ropenscilabs/orgs","repos_url":"https://api.github.com/users/ropenscilabs/repos","events_url":"https://api.github.com/users/ropenscilabs/events{/privacy}","received_events_url":"https://api.github.com/users/ropenscilabs/received_events","type":"Organization","site_admin":false},"repo":{"id":72775037,"node_id":"MDEwOlJlcG9zaXRvcnk3Mjc3NTAzNw==","name":"tic","full_name":"ropenscilabs/tic","owner":{"login":"ropenscilabs","id":16314060,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE2MzE0MDYw","avatar_url":"https://avatars3.githubusercontent.com/u/16314060?v=4","gravatar_id":"","url":"https://api.github.com/users/ropenscilabs","html_url":"https://github.com/ropenscilabs","followers_url":"https://api.github.com/users/ropenscilabs/followers","following_url":"https://api.github.com/users/ropenscilabs/following{/other_user}","gists_url":"https://api.github.com/users/ropenscilabs/gists{/gist_id}","starred_url":"https://api.github.com/users/ropenscilabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ropenscilabs/subscriptions","organizations_url":"https://api.github.com/users/ropenscilabs/orgs","repos_url":"https://api.github.com/users/ropenscilabs/repos","events_url":"https://api.github.com/users/ropenscilabs/events{/privacy}","received_events_url":"https://api.github.com/users/ropenscilabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ropenscilabs/tic","description":"Tasks Integrating Continuously: CI-Agnostic Workflow Definitions","fork":false,"url":"https://api.github.com/repos/ropenscilabs/tic","forks_url":"https://api.github.com/repos/ropenscilabs/tic/forks","keys_url":"https://api.github.com/repos/ropenscilabs/tic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ropenscilabs/tic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ropenscilabs/tic/teams","hooks_url":"https://api.github.com/repos/ropenscilabs/tic/hooks","issue_events_url":"https://api.github.com/repos/ropenscilabs/tic/issues/events{/number}","events_url":"https://api.github.com/repos/ropenscilabs/tic/events","assignees_url":"https://api.github.com/repos/ropenscilabs/tic/assignees{/user}","branches_url":"https://api.github.com/repos/ropenscilabs/tic/branches{/branch}","tags_url":"https://api.github.com/repos/ropenscilabs/tic/tags","blobs_url":"https://api.github.com/repos/ropenscilabs/tic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ropenscilabs/tic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ropenscilabs/tic/git/refs{/sha}","trees_url":"https://api.github.com/repos/ropenscilabs/tic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ropenscilabs/tic/statuses/{sha}","languages_url":"https://api.github.com/repos/ropenscilabs/tic/languages","stargazers_url":"https://api.github.com/repos/ropenscilabs/tic/stargazers","contributors_url":"https://api.github.com/repos/ropenscilabs/tic/contributors","subscribers_url":"https://api.github.com/repos/ropenscilabs/tic/subscribers","subscription_url":"https://api.github.com/repos/ropenscilabs/tic/subscription","commits_url":"https://api.github.com/repos/ropenscilabs/tic/commits{/sha}","git_commits_url":"https://api.github.com/repos/ropenscilabs/tic/git/commits{/sha}","comments_url":"https://api.github.com/repos/ropenscilabs/tic/comments{/number}","issue_comment_url":"https://api.github.com/repos/ropenscilabs/tic/issues/comments{/number}","contents_url":"https://api.github.com/repos/ropenscilabs/tic/contents/{+path}","compare_url":"https://api.github.com/repos/ropenscilabs/tic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ropenscilabs/tic/merges","archive_url":"https://api.github.com/repos/ropenscilabs/tic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ropenscilabs/tic/downloads","issues_url":"https://api.github.com/repos/ropenscilabs/tic/issues{/number}","pulls_url":"https://api.github.com/repos/ropenscilabs/tic/pulls{/number}","milestones_url":"https://api.github.com/repos/ropenscilabs/tic/milestones{/number}","notifications_url":"https://api.github.com/repos/ropenscilabs/tic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ropenscilabs/tic/labels{/name}","releases_url":"https://api.github.com/repos/ropenscilabs/tic/releases{/id}","deployments_url":"https://api.github.com/repos/ropenscilabs/tic/deployments","created_at":"2016-11-03T18:31:22Z","updated_at":"2018-07-26T22:57:04Z","pushed_at":"2018-07-30T20:51:08Z","git_url":"git://github.com/ropenscilabs/tic.git","ssh_url":"git@github.com:ropenscilabs/tic.git","clone_url":"https://github.com/ropenscilabs/tic.git","svn_url":"https://github.com/ropenscilabs/tic","homepage":"https://ropenscilabs.github.io/tic","size":351,"stargazers_count":61,"watchers_count":61,"language":"R","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":26,"license":null,"forks":2,"open_issues":26,"watchers":61,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ropenscilabs/tic/pulls/68"},"html":{"href":"https://github.com/ropenscilabs/tic/pull/68"},"issue":{"href":"https://api.github.com/repos/ropenscilabs/tic/issues/68"},"comments":{"href":"https://api.github.com/repos/ropenscilabs/tic/issues/68/comments"},"review_comments":{"href":"https://api.github.com/repos/ropenscilabs/tic/pulls/68/comments"},"review_comment":{"href":"https://api.github.com/repos/ropenscilabs/tic/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ropenscilabs/tic/pulls/68/commits"},"statuses":{"href":"https://api.github.com/repos/ropenscilabs/tic/statuses/5074d7ce8f8255fa60f32f7362903a7e019b3fc1"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"krlmlr"}}