fix: interpolate env for step actions (#872)
Signed-off-by: hackercat <me@hackerc.at>
This commit is contained in:
parent
603cf56878
commit
099af5e6a8
|
@ -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 {
|
||||
|
|
|
@ -11,5 +11,7 @@ outputs:
|
|||
runs:
|
||||
using: 'docker'
|
||||
image: 'Dockerfile'
|
||||
env:
|
||||
WHOAMI: ${{ inputs.who-to-greet }}
|
||||
args:
|
||||
- ${{ inputs.who-to-greet }}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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_
|
||||
|
|
Loading…
Reference in New Issue