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 <christopher.homberger@web.de>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Markus Wolf 2022-11-16 18:00:49 +01:00 committed by GitHub
parent 1b554aeff6
commit 2614b3eb0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View File

@ -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

View File

@ -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: ./