Stepping Up Your GitHub Game

Women Who Code Front End

Cecelia Martinez

@ceceliacreates

Welcome 👋🏽

  • Technical Account Manager @ Cypress.io
  • Lead Volunteer @ Women Who Code Front End 👩🏽‍💻
  • Volunteer @ Out in Tech 🏳️‍🌈 (Women's Committee, Atlanta Chapter Co-Founder)
  • GitHub Stars Program ⭐️
  • @ceceliacreates 🐦

Stepping Up Your GitHub Game: Why?

  • Issues - What problems are we solving?
  • Releases - How do we package our software?
  • Automations - How do we develop and deploy software in efficient, predictable ways?

Understand how software gets made

Stepping Up Your GitHub Game: Issues

GitHub Issues

  • Collect user feedback, feature requests, and bug reports
  • Prioritize work, track progress, and communicate updates

Anatomy of an Issue

  • Title - Describes the issue
  • Content - Details of the issue, typically follows template
  • Timeline - Shows all historical comments and updates
  • Assignees - Developers assigned to work on an issue
  • Labels - Categories or tags that describe the issue
  • Projects - Any projects linked to the issue
  • Milestones - Any milestones linked to the issue
  • Linked pull requests - Automatically link a PR by adding "closes #issueNumber" to the body of the PR
  • Notifications - Users can subscribe to receive updates
  • Participants - Any user that has commented or contributed

GitHub Issues

Issue Templates

  • Help to standardize bug reports and feature requests
  • Ensure all needed information is included

Issue Templates

  • Help to standardize bug reports and feature requests
  • Ensure all needed information is included

Issue Labels

  • Designate issues to planned features, packages, or known issues, or use to describe status and prioritization

Stepping Up Your GitHub Game: Releases

GitHub Releases

  • Use releases to package and version your software
  • Include release notes and links to binary files
  • Based on Git tags - designate a point in time in the history of your code repository

GitHub Releases

  • Create a release from an existing tag OR
  • Create a new release and add tag

Stepping Up Your GitHub Game: Automations

GitHub Actions

  • Automate tasks related to your repository
  • Build complex workflows or add single actions
  • Triggered by events like a push to a branch or scheduled

GitHub Actions

  • Can manage deployments, branch updates, labels, issues, and even integrate with third parties

GitHub Actions

  • Use pre-built GitHub Actions, modify, or create your own

Stepping Up Your GitHub Game: Practice

GitHub Practice

  • Issues
    • Use issues to track work on your own projects
    • Create helpful issues in open-source projects 
    • Link your pull requests to issues to automatically close
    • Create an issue template for your own project

GitHub Practice

  • Releases
    • Read changelogs for open-source tools and understand how they version and release
    • Release versions of your own projects to understand the differences between MAJOR, MINOR, and PATCH

GitHub Practice

  • Automations
    • Set up workflow actions for your own projects
    • Modify an existing GitHub Action

 Resources

Q&A