Awesome
Hello, World! Docker Action
This action prints Hello, World!
or Hello, <who-to-greet>!
to the log. To
learn how this action was built, see
Creating a Docker container action.
Create Your Own Action
To create your own action, you can use this repository as a template! Just follow the below instructions:
- Click the Use this template button at the top of the repository
- Select Create a new repository
- Select an owner and name for your new repository
- Click Create repository
- Clone your new repository
[!CAUTION]
Make sure to remove or update the
CODEOWNERS
file! For details on how to use this file, see About code owners.
Usage
Here's an example of how to use this action in a workflow file:
name: Example Workflow
on:
workflow_dispatch:
inputs:
who-to-greet:
description: Who to greet in the log
required: true
default: 'World'
type: string
jobs:
say-hello:
name: Say Hello
runs-on: ubuntu-latest
steps:
# Change @main to a specific commit SHA or version tag, e.g.:
# actions/hello-world-docker-action@e76147da8e5c81eaf017dede5645551d4b94427b
# actions/hello-world-docker-action@v1.2.3
- name: Print to Log
id: print-to-log
uses: actions/hello-world-docker-action@main
with:
who-to-greet: ${{ inputs.who-to-greet }}
For example workflow runs, check out the Actions tab! :rocket:
Inputs
Input | Default | Description |
---|---|---|
who-to-greet | World | The name of the person to greet |
Outputs
Output | Description |
---|---|
time | The time we greeted you |
Test Locally
After you've cloned the repository to your local machine or codespace, you'll need to perform some initial setup steps before you can test your action.
[!NOTE]
You'll need to have a reasonably modern version of Docker handy (e.g. docker engine version 20 or later).
-
:hammer_and_wrench: Build the container
Make sure to replace
actions/hello-world-docker-action
with an appropriate label for your container.docker build -t actions/hello-world-docker-action .
-
:white_check_mark: Test the container
You can pass individual environment variables using the
--env
or-e
flag.$ docker run --env INPUT_WHO_TO_GREET="Mona Lisa Octocat" actions/hello-world-docker-action ::notice file=entrypoint.sh,line=7::Hello, Mona Lisa Octocat!
Or you can pass a file with environment variables using
--env-file
.$ echo "INPUT_WHO_TO_GREET=\"Mona Lisa Octocat\"" > ./.env.test $ docker run --env-file ./.env.test actions/hello-world-docker-action ::notice file=entrypoint.sh,line=7::Hello, Mona Lisa Octocat!