The container-template repo contains the base files to create a Docker action.
Navigate to https://github.com/actions/container-template
Click on Use this template
to create the repo for your action.
Complete creating your repo and clone the repo.
NOTE: The location of the repo will be how users will reference your action in their workflow file with the using keyword.
e.g. To use https://github.com/actions/setup-node, users will author:
steps:
using: actions/setup-node@v4
Your action has a name and a description. Update the author.
Create inputs that your unit of work will need. These will be what workflow authors set with the with:
keyword.
name: 'My Container Action'
description: 'Get started with Container actions'
author: 'GitHub'
inputs:
myInput:
description: 'Input to use'
default: 'world'
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.myInput }}
It will be run with docker and the input is mapped into the args
The entry point is in entrypoint.sh
#!/bin/sh -l
echo "hello $1"
Simply push your action to publish.
$ git push
The runner will download the action and build the docker container on the fly at runtime.
Consider versioning your actions with tags. See versioning