Skip to content

pedrohbraga/IntroGitHubActions-Workshop

Repository files navigation

Workshop: Introduction to GitHub and GitHub Actions

badge badge badge

Collaborations are rarely static: when people work on projects together, it is a continuously developing process of contributing ideas, giving and getting feedback, and addressing this feedback with changes until a goal is achieved. These steps often overlap, with collaborators simultaneously changing files in the project. This dynamic makes it very challenging (and very confusing!) to work on documents that are passed around the group, with versions of changes being tracked by updating file names with initials, dates or “document_final_version_number_23123”. This is where GitHub comes in!

In this workshop, we will demonstrate and discuss how GitHub - a common platform for version control and collaboration - can help to manage collaborations dynamically, with transparency and traceability. We will begin by briefly demonstrating how GitHub can be used to collect, address and track feedback and contributions to code and documents through issues and pull requests. We will then demonstrate and discuss GitHub Actions, which can automate workflows to build, test, and publish content in your repositories. We will review how to implement and troubleshoot actions that perform R code testing, Rmarkdown document rendering, and website publishing to ensure that all contributions are safely and continuously integrated into your project.


Les collaborations sont rarement statiques : lorsque des personnes travaillent ensemble sur des projets, il s’agit d’un processus de développement continu qui consiste à apporter des idées, à donner et à recevoir des commentaires, et à répondre à ces recommandations par des modifications jusqu’à ce que l’objectif soit atteint. Ces étapes se chevauchent souvent, les personnes qui collaborent modifiant simultanément les fichiers du projet. Cette dynamique rend très difficile (et très déroutant !) le travail sur des documents qui circulent dans le groupe, les versions des changements étant suivies en mettant à jour les noms de fichiers avec des initiales, des dates ou “document_version_finale_233”. C’est là que GitHub entre en jeu !

Dans cet atelier, nous allons démontrer et discuter comment GitHub - une plateforme commune de contrôle de version et de collaboration - peut aider à gérer les collaborations de manière dynamique, avec transparence et traçabilité. Nous commencerons par montrer brièvement comment GitHub peut être utilisé pour collecter, traiter et suivre les commentaires et les contributions au code et aux documents par le biais de problèmes et de demandes de retrait. Nous ferons ensuite une démonstration et une discussion sur les actions GitHub, qui peuvent automatiser les flux de travail pour construire, tester et publier du contenu dans vos dépôts. Nous examinerons comment mettre en œuvre et dépanner les actions qui effectuent des tests de code R, le rendu de documents Rmarkdown et la publication de sites Web afin de garantir que toutes les contributions sont intégrées de manière sûre et continue dans votre projet.


Contributed by / Elaboré par Pedro Henrique P. Braga (Concordia University) & Katherine Hébert (Université de Sherbrooke)

GitHub Actions workflows

These are the workflows we use to render and deploy the material for this workshop:

render-presentation-en render-exercise01 render-exercise02