From f67457a744f0ca39a74ab1e08ae0ed18e874899b Mon Sep 17 00:00:00 2001 From: Nick Alteen Date: Fri, 1 Sep 2023 14:36:35 -0400 Subject: [PATCH] Replace named arg --- .github/workflows/ci.yml | 4 ++-- README.md | 26 +++++++------------------- entrypoint.sh | 2 +- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e956946..cec91b3 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 \ - --env INPUT_WHO_TO_GREET="Mona Lisa Octocat" \ - --rm ${{ env.TEST_TAG }} + --rm ${{ env.TEST_TAG }} \ + ${{ env.INPUT_WHO_TO_GREET }} test-action: name: GitHub Actions Test diff --git a/README.md b/README.md index 642b755..adb15fb 100644 --- a/README.md +++ b/README.md @@ -51,21 +51,10 @@ need to perform some initial setup steps before you can develop your action. 1. :white_check_mark: Test the container - You can pass individual environment variables using the `--env` or `-e` flag. + You can pass input arguments in the `docker run` call. ```bash - $ 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 + $ docker run actions/container-action "Mona Lisa Octocat" ::notice file=entrypoint.sh,line=7::Hello, Mona Lisa Octocat! ``` @@ -87,13 +76,12 @@ 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 environment variables with the format - `INPUT_`. For example, this action has an input called - `who-to-greet`, which can be accessed in the entrypoint script using - `INPUT_WHO_TO_GREET`. +- Inputs are accessed using argument identifiers. For example, the first input + to this action, `who-to-greet`, can be accessed in the entrypoint script using + `$1`. ```bash - GREETING="Hello, $INPUT_WHO_TO_GREET!" + GREETING="Hello, $1!" ``` - GitHub Actions supports a number of different workflow commands such as @@ -140,7 +128,7 @@ So, what are you waiting for? Go ahead and start customizing your action! ```bash docker build -t actions/container-action . - docker run --env INPUT_WHO_TO_GREET="Mona Lisa Octocat" actions/container-action + docker run actions/container-action "Mona Lisa Octocat" ``` 1. Commit your changes diff --git a/entrypoint.sh b/entrypoint.sh index 22c9865..42e39ea 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, $INPUT_WHO_TO_GREET!" +GREETING="Hello, $1!" # Use workflow commands to do things like set debug messages echo "::notice file=entrypoint.sh,line=7::$GREETING"