-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Describe the bug
When using ${{ github.action_path }} inside a local composite action and calling this action in a job that runs inside a container, ${{ github.action_path }} gets resolved to /home/runner/work/ga-test-public/ga-test-public/./.github/actions/repro instead of /__w/ga-test-public/ga-test-public/./.github/actions/repro.
There are other closed issues describing the same problem (#716, #965) and a merged pull request (#1762) that should have fixed the issue, but I am still getting the wrong path on GitHub shared runners with version 2.297.0
To Reproduce
Here is a reproduction repo and a workflow run with the mentioned issue.
# .github/workflow/test.yml
name: Reploduce the bug
on:
push: {}
workflow_dispatch: {}
jobs:
bug-in-container:
runs-on: ubuntu-20.04
container:
image: centos:7
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/repro
- run: echo runner.temp = ${{ runner.temp }}
- run: ls -al ${{ runner.temp }} || true
- run: echo runner.tool_cache = ${{ runner.tool_cache }}
- run: ls -al ${{ runner.tool_cache }} || true# .github/actions/repo/action.yml
name: 'Reproduce the bug'
description: ''
inputs: {}
runs:
using: 'composite'
steps:
- shell: bash
run: |
echo github.action_path: ${{ github.action_path }}
ls -al ${{ github.action_path }} || trueExpected behavior
${{ github.action_path }} should be resolved to a path inside the container, not to a path on the host machine.
Runner Version and Platform
GitHub shared runner version 2.297.0
