You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 1, 2022. It is now read-only.
[GitHub Actions](https://github.com/features/actions) is a powerful platform that empowers your team to go from code to cloud all from the comfort of your own repositories.
2
2
3
-
Over the duration of this course, approximately 1 hour, you will learn the skills needed to begin using and customizing GitHub Actions to fit your unique workflow scenarios.
3
+
This course will teach you the skills needed to begin using and customizing Docker container based actions to fit your unique workflow scenarios.
4
4
5
5
## What you'll learn
6
6
7
-
In this course you will learn how to:
7
+
After completing this course, you will be able to:
8
8
9
9
- Consume actions within a workflow file
10
-
- Create custom Docker based actions
10
+
- Create custom Docker container based actions
11
+
- Create actions in your programming language of choice
12
+
- Leverage an external API within an action
13
+
- Set and use input parameters for actions
11
14
- Publish your newly created action to the marketplace
12
15
13
16
You'll know the answers to questions like:
@@ -18,31 +21,36 @@ You'll know the answers to questions like:
18
21
- What is a `Dockerfile`?
19
22
- What are GitHub Actions capable of?
20
23
- What programming languages can I write GitHub Actions in?
24
+
- How do I publish an action?
25
+
- How do I customize my action's behavior based on inputs?
21
26
22
27
## What you'll build
23
28
29
+

30
+
24
31
In this course you will build three actions that each accomplish different tasks designed to demonstrate the flexibility of creating and consuming Docker Based Actions.
25
32
26
-
First, you will start with the traditional "Hello World!" program which will teach you where to find the output of a workflow run. You will then modify this "Hello World!" action to accept `input` parameters which allow the action to be more dynamic. This action will be written using the Go programming language.
33
+
1.**Hello, world!** You will start with the traditional "Hello, world!" program which will teach you where to find the output of a workflow run. You will then modify this "Hello World!" action to accept `input` parameters which allow the action to be more dynamic. This action will be written using the Go programming language.
27
34
28
-
Second, you will write an action that call upon an external API to retrieve a fact about cats and prints it to the workflows output. You will then modify this cat fact action to set the retrieved data as `output` for another action in the workflow to consume. This action will be written using the Python programming language.
35
+
2.**Cat facts** You will write an action that call upon an external API to retrieve a fact about cats and prints it to the workflows output. You will then modify this cat fact action to set the retrieved data as `output` for another action in the workflow to consume. This action will be written using the Python programming language.
29
36
30
-
Lastly, you will write a third action that will open an issue in your repository making the cat fact available to everyone. You will learn how to use the `output` of previous actions as `input` for current actions in this step. This action will be written using the JavaScript programming language.
37
+
3.**Issue maker** You will open an issue in your repository making the cat fact available to everyone. You will learn how to use the `output` of previous actions as `input` for current actions in this step. This action will be written using the JavaScript programming language.
31
38
32
39
## Prerequisites
33
40
34
-
We will be using the GitHub UI to build and consume our actions. Since this is a course on [Docker](https://docs.docker.com/get-started/) based actions, having a basic understanding of Docker is recommended.
41
+
We recommend you first take the following courses on Learning Lab:
It is also worth noting that this course is one of many in a GitHub Actions Learning Path. It is recommended that you complete this learning path in order to get the most out of your Learning Lab experience.
44
+
Since this is a course on [Docker](https://docs.docker.com/get-started/) based actions, having a basic understanding of Docker is recommended.
37
45
38
46
## Projects used
39
47
40
-
-[Docker](https://www.docker.com/), a container engine
41
48
-[GitHub Actions Toolkit](https://github.com/actions/toolkit), a multipurpose JavaScript library for writing actions
49
+
-[Docker](https://www.docker.com/), a container engine
42
50
-[Python](https://www.python.org/doc/essays/blurb/), an interpreted, object-oriented, high-level programming language
43
51
-[Go](https://golang.org/), Go is an open source programming language that makes it easy to build simple, reliable, and efficient software
44
52
-[Requests](https://requests.readthedocs.io/en/master/), an elegant and simple HTTP library for Python
45
53
46
54
## Audience
47
55
48
-
This is a great course for intermediate developers who are looking to learn how to create custom actions to benefit their workflows. The focal point of the content isn't on which language to create your actions in, rather how to put the pieces of source code, metadata, `Dockerfile` and workflows together to accomplish your goals.
Copy file name to clipboardExpand all lines: responses/01_welcome-activity.md
+3-5Lines changed: 3 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
## Configuring a workflow
1
+
## Setup a workflow file
2
2
3
-
### :keyboard: Activity: Create a pull request to prepare the repository for actions
3
+
### :keyboard: Activity: Create a pull request to add a workflow
4
4
5
5
1. Create a new workflow file titled `my-workflow.yml` by using the instructions below, or [this quicklink]({{quicklink}}).
6
6
- Go to the [Actions tab]({{ actionsUrl }}).
@@ -18,8 +18,6 @@ _It is important to place meaningful content into the body of the pull requests
18
18
19
19
</details>
20
20
21
-
I'll respond in the new pull request when I detect it has been created.
22
-
23
21
---
24
22
25
-
If at any point you're expecting a response and don't see one, refresh the page.
23
+
I'll respond in the new pull request when I detect it has been created. If at any point you're expecting a response and don't see one, refresh the page.
Copy file name to clipboardExpand all lines: responses/02_modify-workflow.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Currently `my-workflow.yml` is not set up correctly for our use-case. It worked great for allowing us to take a high-level look at workflows, but if we want to use our custom actions there are some changes that we have to make to it.
4
4
5
-
### :keyboard: Activity: Modify my-workflow.yml to remove boilerplate steps
5
+
### :keyboard: Activity: Remove boilerplate steps from `my-workflow.yml`
6
6
7
7
1.[Edit]({{workflowFile}}) the `.github/workflows/my-workflow.yml` so that it has the contents below:
8
8
@@ -23,4 +23,4 @@ Currently `my-workflow.yml` is not set up correctly for our use-case. It worked
23
23
24
24
---
25
25
26
-
I'll respond in this pull request once you make these changes.
26
+
I'll respond when you push changes to this pull request.
0 commit comments