DEV Community

Discussion on: Maybe this useless workflow isn’t so useless after all?

Collapse
 
dtinth profile image
Thai Pangsakulyanont • Edited

Thanks!

There are many helpful resources on DEV.to but in my opinion the most important resource is GitHub’s official documentation.

You can think of GitHub Actions as like having a brand new computer that can automate things for you based on what happens and what's inside your GitHub Repository. To automate things in your computer you would write shell scripts. So it’s good to also learn the common command-line tools.

For example, consider the command I showed in this post:

curl -X DELETE "https://api.github.com/repos/$GITHUB_REPOSITORY/issues/${{ github.event.issue.number || github.event.pull_request.number }}/labels/useless?access_token=${{ secrets.GITHUB_TOKEN }}"
Enter fullscreen mode Exit fullscreen mode

You can’t find that command in GitHub Docs, but crafting that command takes these knowledge:

As you can see just learning from the official documentation may not be enough.

But unlike other systems that requires some setup on a 3rd party service, with GitHub Actions, all you need is a repository and a workflow file. Getting my hands dirty is the most effective way for me to learn something. So, I recommend creating small projects/repositories to try out GitHub Actions on. Here are some of mine:

  • github-actions-web-page-screenshot... In this project I want to try to make GitHub Actions take a screenshot of a web page.
  • github-actions-tsc-problem-matcher... In this project I want to set up GitHub Actions so that it displays compile-time errors in the “Files Changed” tab.
  • action-rotating-light In this project I want to ban a certain word/emoji from the project. For example I picked 🚨 as the forbidden emoji because I use it to mark code as “still unfinished, need to come back and fix this before merging.”
Collapse
 
dezren profile image
dezren

this comment could be a post in itself, the documentation is great and very accurate but real examples of how we should use it seem a bit lacking. great posts thanks for making them