fix: interpolate env for step actions (#872)

Signed-off-by: hackercat <me@hackerc.at>
This commit is contained in:
Ryan 2021-11-13 00:21:18 +01:00 committed by GitHub
parent 603cf56878
commit 099af5e6a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 0 deletions

View File

@ -479,6 +479,11 @@ func (sc *StepContext) runAction(actionDir string, actionPath string, localActio
sc.Env = mergeMaps(sc.Env, action.Runs.Env)
ee := sc.NewExpressionEvaluator()
for k, v := range sc.Env {
sc.Env[k] = ee.Interpolate(v)
}
log.Debugf("type=%v actionDir=%s actionPath=%s workdir=%s actionCacheDir=%s actionName=%s containerActionDir=%s", step.Type(), actionDir, actionPath, rc.Config.Workdir, rc.ActionCacheDir(), actionName, containerActionDir)
maybeCopyToActionDir := func() error {

View File

@ -11,5 +11,7 @@ outputs:
runs:
using: 'docker'
image: 'Dockerfile'
env:
WHOAMI: ${{ inputs.who-to-greet }}
args:
- ${{ inputs.who-to-greet }}

View File

@ -3,5 +3,6 @@
echo "Hello $1"
time=$(date)
echo ::set-output name=time::$time
echo ::set-output name=whoami::$WHOAMI
echo "SOMEVAR=$1" >>$GITHUB_ENV

View File

@ -7,10 +7,12 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: ./actions/docker-local
id: dockerlocal
with:
who-to-greet: 'Mona the Octocat'
- run: '[[ "${{ env.SOMEVAR }}" == "Mona the Octocat" ]]'
- run: '[ "${SOMEVAR}" = "Not Mona" ] || exit 1'
env:
SOMEVAR: 'Not Mona'
- run: '[[ "${{ steps.dockerlocal.outputs.whoami }}" == "Mona the Octocat" ]]'
- uses: ./localdockerimagetest_