Write your own GitHub JavaScript Action and automate customized tasks unique to your workflow.
Welcome to the course 🎉
Actions are enabled on your repository by default, but we still have to tell our repository to use them. We do this by creating a workflow file in our repository.
A workflow file can be thought of as the recipe for automating a task. They house the start to finish instructions, in the form of jobs
and steps
, for what should happen based on specific triggers.
Your repository can contain multiple workflow files that carry out a wide variety of tasks. It is important to consider this when deciding on a name for your workflow. The name you choose should reflect the tasks being performed.
In our case, we will use this one workflow file for many things, which leads us to break this convention for teaching purposes.
Read more about workflows
Our JavaScript actions are going to leverage the GitHub ToolKit for developing GitHub Actions.
This is an external library that we will install using npm
which means that you will need Node.js installed.
We find writing actions to be easier from a local environment vs trying to do everything right here in the repository. Doing these steps locally allows you to use the editor of your choice so that you have all the extensions and snippets you are used to when writing code.
If you do not have a preferred environment then we suggest following along exactly as you see on the screen, which means you'll need to install Visual Studio Code.
Most of your work going forward will take place away from your Skills repository, so before continuing with the course ensure you have the following installed on your local machine.
- Node.js
- Visual Studio Code or your editor of choice
- Git
Once you have the necessary tools installed locally, follow these steps to begin creating your first action.
- Open the Terminal (Mac and Linux) or Command Prompt (Windows) on your local machine
- Clone your Skills repo to your local machine:
git clone <this repository URL>.git
- Navigate to the folder you just cloned:
cd <local folder with cloned repo>
- We are using branch called
main
.git switch main
- Create a new folder for our actions files:
mkdir -p .github/actions/joke-action
- Navigate to the
joke-action
folder you just created:cd .github/actions/joke-action
- Initialize a new project:
npm init -y
- Install the request, request-promise and @actions/core dependencies using
npm
from the [GitHub ToolKit] (https://github.com/actions/toolkit):npm install --save request request-promise @actions/core
- Commit those newly added files,we will remove the need to upload node_modules in a later step:
git add . git commit -m 'add project dependencies'
- Push your changes to your repository:
git push
- Wait about 20 seconds then refresh this page (the one you're following instructions from). GitHub Actions will automatically update to the next step.
Get help: Post in our discussion board • Review the GitHub status page
© 2023 GitHub • Code of Conduct • MIT License