diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cec91b3..4a4950e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,8 +48,8 @@ jobs: INPUT_WHO_TO_GREET: Mona Lisa Octocat run: | docker run \ - --rm ${{ env.TEST_TAG }} \ - ${{ env.INPUT_WHO_TO_GREET }} + --env INPUT_WHO_TO_GREET="${{ env.INPUT_WHO_TO_GREET }}" \ + --rm ${{ env.TEST_TAG }} test-action: name: GitHub Actions Test diff --git a/README.md b/README.md index adb15fb..a8b8b90 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,20 @@ need to perform some initial setup steps before you can develop your action. 1. :white_check_mark: Test the container - You can pass input arguments in the `docker run` call. + You can pass individual environment variables using the `--env` or `-e` flag. ```bash - $ docker run actions/container-action "Mona Lisa Octocat" + $ docker run --env INPUT_WHO_TO_GREET="Mona Lisa Octocat" actions/container-action + ::notice file=entrypoint.sh,line=7::Hello, Mona Lisa Octocat! + ``` + Or you can pass a file with environment variables using `--env-file`. + + ```bash + $ cat ./.env.test + INPUT_WHO_TO_GREET="Mona Lisa Octocat" + + $ docker run --env-file ./.env.test actions/container-action ::notice file=entrypoint.sh,line=7::Hello, Mona Lisa Octocat! ``` @@ -76,12 +85,13 @@ can choose any base Docker image and language you like, you can change this to suite your needs. There are a few main things to remember when writing code for container actions: -- Inputs are accessed using argument identifiers. For example, the first input +- Inputs are accessed using argument identifiers or environment variables + (depending on what you set in your `action.yml`). For example, the first input to this action, `who-to-greet`, can be accessed in the entrypoint script using - `$1`. + the `$INPUT_WHO_TO_GREET` environment variable. ```bash - GREETING="Hello, $1!" + GREETING="Hello, $INPUT_WHO_TO_GREET!" ``` - GitHub Actions supports a number of different workflow commands such as diff --git a/action.yml b/action.yml index 3cbcd3d..6a12f41 100644 --- a/action.yml +++ b/action.yml @@ -17,5 +17,5 @@ outputs: runs: using: docker image: Dockerfile - args: - - '${{ inputs.who-to-greet }}' + env: + INPUT_WHO_TO_GREET: ${{ inputs.who-to-greet }} diff --git a/entrypoint.sh b/entrypoint.sh index 42e39ea..22c9865 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/sh -l # Use INPUT_ to get the value of an input -GREETING="Hello, $1!" +GREETING="Hello, $INPUT_WHO_TO_GREET!" # Use workflow commands to do things like set debug messages echo "::notice file=entrypoint.sh,line=7::$GREETING"