{"id":20455034,"url":"https://github.com/jumpingrivers/user2021-github-actions","last_synced_at":"2026-03-10T04:05:03.428Z","repository":{"id":75642542,"uuid":"335926540","full_name":"jumpingrivers/user2021-github-actions","owner":"jumpingrivers","description":"An R repository containing course details for the user2021 tutorial on GitHub Actions","archived":false,"fork":false,"pushed_at":"2021-02-05T12:40:58.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-05T10:19:08.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jumpingrivers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-04T11:00:41.000Z","updated_at":"2021-02-05T12:41:00.000Z","dependencies_parsed_at":"2023-03-30T13:33:59.904Z","dependency_job_id":null,"html_url":"https://github.com/jumpingrivers/user2021-github-actions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jumpingrivers/user2021-github-actions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumpingrivers%2Fuser2021-github-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumpingrivers%2Fuser2021-github-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumpingrivers%2Fuser2021-github-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumpingrivers%2Fuser2021-github-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jumpingrivers","download_url":"https://codeload.github.com/jumpingrivers/user2021-github-actions/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jumpingrivers%2Fuser2021-github-actions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30324185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T11:17:47.823Z","updated_at":"2026-03-10T04:05:03.390Z","avatar_url":"https://github.com/jumpingrivers.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Continuous Integration with GitHub Actions for Data Scientists\n\nuseR! 2021\n\nby Rhian Davies \u0026 Colin Gillespie\n\n-----\n\n:spiral_calendar: TBC\n:alarm_clock: TBC\n\n-----\n\n## Overview\n\nAfter you’ve created your first package and put it on GitHub, the next step to the journey is to implement Continuous Integration (CI). Over the last few years, GitHub Actions has emerged as the preferred form of CI within the R community. The key idea is that a single commit can automatically launch a variety of other services. This can lead to massive savings in time, as well as reducing bugs.\nThis tutorial will start by using “off-the-shelf” actions provided by {usethis}. We’ll then move on to extending and customising these actions. The idea is for participants to complete the course with the practical skills to immediately implement the techniques, combined with a deeper understanding of the topic.\n\n## Learning Objectives\n\nAt the end of the workshop, attendees will have learnt:\n\n* What GitHub Actions and continuous integration are\n* How to use “off-the-shelf\" GitHub Actions via {usethis}\n* How to check packages, code style and generate package websites with GitHub Actions\n* How to customise GitHub Actions\n\n## Is this course for me?\n\nThis course will be appropriate for you if you answer yes to these questions:\n\n1. Have you created a simple R package before?\n2. Are you comfortable with basic git commands?\n3. Would you like to learn how to automate package checks and documentation using GitHub Actions?\n\n## Assumed Knowledge\n\nParticipants must be familiar with:\n\n* writing basic R functions\n* basic git, e.g push, pull, commit, clone. \n* basic GitHub\n* writing simple R package\n\n## Prework\n\nAttendees are expected to use the provided training environment, and therefore there is no pre-work.\n\nIf you wish to use your own set up, please install the following packages.\n\n```r\ninstall.packages(c(\"lintr\", \"testthat\",\"usethis\"))\n```\n\n\n## Example Schedule\n\n| Time          |          | Activity                                                    |\n| :------------ | -------- | :---------------------------------------------------------- |\n| 14:00 - 14:50 | :package:        | Getting started with GitHub Actions |\n| 14:50 - 15:05 | :coffee: | *Break*                                                     |\n| 15:05 - 15:55 |    :sparkles:      | Fancy Actions with {pkgdown} websites, {lintr} and {testthat} |\n| 15:55 - 16:10 | :coffee: | *Break*                                                     |\n| 16:50 - 17:00 |      :nail_care:\t    | Customising GitHub Actions                                  |\n\n## Instructors\n\n### Dr Rhian Davies\n\nRhian loves using statistics to help people make data driven decisions.\nAs a data scientist, she has worked closely with varied domain experts\nincluding physicists, psychologists, game designers and engineers.\n\n### Dr Colin Gillespie\n\nColin has been using R since 1999 and is the co-founder of [Jumping\nRivers](https://www.jumpingrivers.com). He’s the author of a number of R\npackages and has published the book Efficient R Programming with\nO’Reilly. As well as working in industry, Colin is also a part-time\nSenior Statistics lecturer at Newcastle University.\n\n[Code of conduct](https://user2021.r-project.org/participation/coc/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumpingrivers%2Fuser2021-github-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjumpingrivers%2Fuser2021-github-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumpingrivers%2Fuser2021-github-actions/lists"}