From 865c4556e04a4a7e0468185bfe1b66f5dc6efd8b Mon Sep 17 00:00:00 2001 From: Markus Wolf Date: Wed, 16 Nov 2022 18:00:49 +0100 Subject: [PATCH] fix: keep path to event json file in composite actions (#1428) * fix: keep path to event json file in composite actions The event.json paths need to be copied over, since it the GithubContext is recreated from the composite RC. And that does read some value for the event file if available. * test: add test case * test: paste the test correctly and revert a line Co-authored-by: ChristopherHX Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- act/runner/action_composite.go | 1 + act/runner/testdata/pull-request/main.yaml | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/act/runner/action_composite.go b/act/runner/action_composite.go index 9001b489..a7b41438 100644 --- a/act/runner/action_composite.go +++ b/act/runner/action_composite.go @@ -69,6 +69,7 @@ func newCompositeRunContext(ctx context.Context, parent *RunContext, step action Masks: parent.Masks, ExtraPath: parent.ExtraPath, Parent: parent, + EventJSON: parent.EventJSON, } return compositerc diff --git a/act/runner/testdata/pull-request/main.yaml b/act/runner/testdata/pull-request/main.yaml index b9946b94..eb81939b 100644 --- a/act/runner/testdata/pull-request/main.yaml +++ b/act/runner/testdata/pull-request/main.yaml @@ -5,6 +5,22 @@ jobs: build: runs-on: ubuntu-latest steps: - - run: echo '${{github.ref}}' + # test refs from event.json + - run: echo '${{github.ref}}' - run: echo '${{github.head_ref}}' | grep sample-head-ref - run: echo '${{github.base_ref}}' | grep sample-base-ref + # test main/composite context equality with data from event.json + - run: | + runs: + using: composite + steps: + - run: | + echo WORKFLOW_GITHUB_CONTEXT="$WORKFLOW_GITHUB_CONTEXT" + echo COMPOSITE_GITHUB_CONTEXT="$COMPOSITE_GITHUB_CONTEXT" + [[ "$WORKFLOW_GITHUB_CONTEXT" = "$COMPOSITE_GITHUB_CONTEXT" ]] + env: + WORKFLOW_GITHUB_CONTEXT: ${{ tojson(tojson(github.event)) }} + COMPOSITE_GITHUB_CONTEXT: ${{ '${{tojson(github.event)}}' }} + shell: bash + shell: cp {0} action.yml + - uses: ./