Git and GitHub can support very sophisticated development workflows. Often I don't need that much, but sometimes I do. Below is a tour of five GitHub repos and one GitHub organization, starting out simple, then introducing some more advanced features.
-
JASMIN Solo project, using GitHub as a versioned cloud storage.
- Just pushing commits to the server, often no commit message
- README file formatted with GitHub flavored MarkDown
- Single branch with outdated name: master.
- "This repository has been archived by the owner on Sep 30, 2023. It is now read-only".
-
jsQuestPlus Two-person project; a bit more coordination.
-
splithalfr Pet project where I try out fancy DevOps.
- Commit messages have PsychoPy-style tags: ENH, BF, ...
- Software releases numbered via SemVer (x.y.z) and documented via "keep a changelog"
- Linking GitHub Discussions, Issues, and Pull Requests:
- Sera asked a question in discussion #3
- This points to a bug described in issue #4, with a link to dicussion #3
- The bug is fixed in Pull Request #8, with a link to issue #4
- Non-GitHub DevOps:
-
psychojs_testing A CI/CD pipeline with an advanced testing workflow
- Documentation in a GitHub Wiki
- CI/CD Workflows via GitHub Actions. Click "Run workflow" to see the inputs.
- Workflow credentials in GitHub Secrets
-
rs-report-workflow Extracting software mangement metadata from repos
- Obtain repo-data via a Python module that talks to the GitHub REST API
- Extract information with some machine learning (SOMEF)
- Credentials in environment variables; needs an update to SOMEF: SOMEF issue #591
-
AmsterdamUMC Pilot GitHub organization
- Teams ogranized in Amsterdam UMC departments and groups
- Roles: admins, team contacts, and members
- Organization-level discussion with accouncements
- Project for AmsterdamUMC repos to feed to rs-report-workflow