Skip to content

[v5.0.0] Error when using cache and there is a file with emoji in the file name on Windows #779

Description

@kzrnm

Description:

An error occurs when the following conditions are met.

  • Windows runner
  • There is a file in the repository that contains emoji in the file name, such as 👍.txt.
  • cache is pip or poetry.

Action version:
v5.0.0

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:

Repro steps:

Run this workflow.

name: Python
on:
  workflow_dispatch:
jobs:
  download:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        python:
          - "3.9"
          - "3.12"
      fail-fast: false

    runs-on: ${{ matrix.os }}
    steps:
      - run: |
          touch "👍.txt"
          touch requirements.txt
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "${{ matrix.python }}"
          cache: pip

Expected behavior:

All strategies are successfully completed.

Actual behavior:

On windows,

Error: Cannot read properties of undefined (reading '0')
node:internal/fs/promises:894
  const result = await binding.stat(pathModule.toNamespacedPath(path),
                               ^
Error: ENOENT: no such file or directory, stat
    at Object.stat (node:internal/fs/promises:894:32)
    at DefaultGlobber.<anonymous> (D:\a\_actions\actions\setup-python\v5\dist\setup\index.js:7081:47)
    at Generator.next (<anonymous>)
    at D:\a\_actions\actions\setup-python\v5\dist\setup\index.js:6911:71
    at new Promise (<anonymous>)
    at __webpack_modules__.8298.__awaiter (D:\a\_actions\actions\setup-python\v5\dist\setup\index.js:6907:12)
    at DefaultGlobber.stat (D:\a\_actions\actions\setup-python\v5\dist\setup\index.js:7073:16)
    at DefaultGlobber.globGenerator_1 (D:\a\_actions\actions\setup-python\v5\dist\setup\index.js:7018:60)
    at globGenerator_1.next (<anonymous>)
    at resume (D:\a\_actions\actions\setup-python\v5\dist\setup\index.js:6927:44) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'stat'
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions