So GitHub Just Does Everything Now

Color me impressed!

I’ve been using it for over a decade. It only really did a couple of things, like VCS, filing issues, and dealing with pull requests. However, after the Microsoft acquisition, they really turned up the new feature rollouts and have essentially produced a platform where you can ship an entire MVP from one website.

Issues

It all started with issues. GitHub-hosted FOSS (Free Open Source Software) allowed developers to commit and collaborate on each other’s codebases, allowing the world to publicly see every line written. For example, if you wanted to modify open-source Linux, you could file an issue, code up a new branch, and propose the solution. If you were a great dev and had done some great work, then Linus Torvalds wouldn’t totally tear you to shreds on a PR review, and your code might actually make it into the operating system code used the world over.

Now for many private companies with closed-source code, their workflow operates in pretty much the same way. It’s just a matter of who files the issues and who fixes them.

Projects

Most working devs are familiar with swimlanes, kanban, tickets, boards, etc. I’ve worked with several project management platforms in my career (Jira, Trello, Asana, Friday, Monday, it’s seriously a crazy long list) and they all had their own issues (pun intended). The main pain point for me was always trying to keep track of which ticket belonged to which of my branches while I worked, and inevitably there would be some PM that would wave their fingers about closing the tickets out. But it never “just worked” – enter GitHub 2022.

Now we can create a project board for our repository, add our org, and automate the entire thing so Issues are linked to Projects and Pull Requests automatically. The tickets will even automatically update their status when a linked branch or PR is updated. My entire flow can be reduced down to these extremely quick tasks on GitHub:

  • Open issue
  • One-click create a branch
  • Commit the code
  • One-click create a PR
  • Review + merge closes the ticket automagically.

It simply cannot get easier than that.

Continuous Integration

GitHub Actions has now eaten the lunch of many other CI tools if you need a simple solution. You just follow their tutorial and add a YAML file to your repository. Their platform picks it up, fires up a build server, and does whatever you tell it to in the yaml. You can see the results in a little icon right next to the commit ID on the main project page, as well as in any relevant PRs in a convenient little modal view that shows all the build results. I’ve already cancelled my Travis and Circle subscriptions after using it a for a few projects.

CONTINUOUS DEPLOYMENT

GitHub Pages is their hosted option which integrates with your repos. All you have to do is add the corresponding line to your GitHub Actions YAML and if your build is successful, it will automatically deploy to GitHub’s hosted servers and start serving your latest stuff instantly. Granted, this only works for frontend code or static sites, but it’s still such a great way to get your website up and running quickly while you explore other hosting options.
If you have another type of project, you can just add those GitHub Actions to your YAML and fire away to the host of your choice. It works instantly with Heroku, Firebase, Netlify, and others that have provided plugins.
You now have a fully-fledge CI/CD flow for your project. There are companies who have operated for years which don’t even have that!

That’s it. That’s basically everything an individual or startup would need to get an MVP or POC up and running with the least steps and the lowest barrier to entry. Thanks GitHub!!