Github Workflow Diagrams and Templates

Started mentoring team 2797 again this year, and would like for the programming team to use github more than last year. More specifially, we’d like to create a workflow that they can follow. I’ve done does with Mermaid-js/Markdown diagrams at my current job.

Aside from what is described here (Git Version Control Introduction — FIRST Robotics Competition documentation) , does anyone have any example workflow diagrams that they use for Robotic software dev flow. I’m used to FPGA design and verification flow, so my workflow tends to be more granular.
Also, do most teams use the github cli or the integration into VSCODE?

I also created a sandbox repo that I will use to demo git operations with. Plenty of resources on how to use git, and I did reference some prior team’s training slides as well. However, does anyone have any Repo, Issue Templates? Recommended Branch protection rules (for Public, github free accounts)?

1 Like

The students do pretty well following these instructions at each meeting to start with pull code into VSC and push their changes at the end of the day. We keep it very simple but everything is still well controlled and backed up on GitHub. Merge conflicts are minor. We also have GitHub send a message to a Slack channel for each commit so we can verify everyone remembered to update GitHub.

Robot-Development Directions

Follow these steps at the beginning of every meeting

  • Open VSCode
  • Open the 2023-Robot-Development project
  • Click the Source Control tab
  • Click the More Actions button (the … button)
  • Click Pull (rebase)

Follow these steps at the end of every meeting

  • Click the Source Control tab
  • Click the More Actions button (the … button)
  • Choose Stage
  • Choose Commit
  • Choose Pull (rebase)
  • Choose Push

Merge Conflicts

Follow these steps to resolve a merge conflict

  • Ask a mentor to help resolve the conflicts
  • Ask the other student (or students) who modified the file to help resolve the conflicts
  • Find each conflict and determine what code you want

Remote Repository Directions (one time only)

Follow these steps to set up a Remote Repository on GitHub

Clone Directions (one time only)

Follow these steps to Clone the Remote Repository to the Local Repository on the computer

  • Only do this one time on the computer
  • One of the mentors will complete these steps
  • Open the Remote Repository on GitHub and copy the url
  • Open VSCode
  • Open the Git Command Palette (Ctrl + Shift + P)
  • Choose Git:Clone
  • Paste the url of the Remote Repository
  • Press Enter

Helpful Resources

3 Likes

We basically use Git Feature Branch Workflow | Atlassian Git Tutorial for code development. PRs are handled using the github UI. So far it is just mentors doing the code review part, but my hope is to get more seasoned students involved as the year progresses.

I find that this keeps the main branch working, for the most part. There’s some overhead in getting PRs reviewed and fixed but it does cut down on random merges into main breaking the code for everyone else.

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.