WickedWayz
github-learning-lab opened this issue · comments
Welcome
This course helps you create a simple action and use that action in a workflow.
You can complete this course directly on GitHub, or locally by cloning this repository.
Note: This course will only work for members of the GitHub Actions limited public beta. To join the beta, Sign up for GitHub Actions Beta and ensure you've received an email confirming GitHub Actions is enabled on your account before continuing this course.
GitHub Actions is currently in limited public beta and is subject to change. We strongly recommend that you do not use this feature for high-value workflows and content during the beta period. For more information, see "About GitHub Actions".
Actions and Workflows
There are two components to using GitHub Actions that we'll cover:
- the action itself
- a workflow that uses the action
A workflow can contain many actions, but each action has its own purpose. So, we'll put the files relating to the action in their own directory.
Step 1: Creating a Dockerfile
Actions come in two types: container actions and JavaScript actions. Our action will use a Docker container so it will require a Dockerfile
. Let's add it now. We won't discuss what each line means in detail, but the important thing to know is that the action will be executed in an environment defined by this file.
⌨️ Activity: Create a Dockerfile
and open a pull request
- Create a file titled
action-a/Dockerfile
by using this quick link or manually:- Create a new branch. Branches should be named intentionally, so a good name for this branch could be
first-action
. - On the new branch, create a directory:
action-a
. Note: If you're working on GitHub.com, you can create a directory and a file at the same time by naming the fileaction-a/Dockerfile
. - In the
action-a
directory, create a file titledDockerfile
.
- Create a new branch. Branches should be named intentionally, so a good name for this branch could be
- Fill the
Dockerfile
with the content below:FROM debian:9.5-slim LABEL "com.github.actions.name"="Hello World" LABEL "com.github.actions.description"="Write arguments to the standard output" LABEL "com.github.actions.icon"="mic" LABEL "com.github.actions.color"="purple" LABEL "repository"="http://github.com/octocat/hello-world" LABEL "homepage"="http://github.com/actions" LABEL "maintainer"="Octocat <octocat@github.com>" ADD entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]
- Commit your file
- If you're working locally, you will also need stage your file and to push the branch to GitHub.
- Open a pull request with your new branch against
master