Skip to content

fix: re-download cached func CLI binary if not executable#131

Closed
creydr wants to merge 1 commit into
functions-dev:mainfrom
creydr:fix/e2e-func-cli-permission
Closed

fix: re-download cached func CLI binary if not executable#131
creydr wants to merge 1 commit into
functions-dev:mainfrom
creydr:fix/e2e-func-cli-permission

Conversation

@creydr
Copy link
Copy Markdown
Collaborator

@creydr creydr commented May 11, 2026

Summary

  • ensureFuncVersion() only checked whether the cached old func CLI binary file existed (os.Stat), not whether it was executable
  • If the binary lost its execute bit (e.g. partial download, filesystem issue in CI), the middleware update e2e test failed with fork/exec ... permission denied, cascading into 2 additional Ginkgo interrupts
  • Now verifies the execute permission bit before returning the cached path — if not executable, removes the file and re-downloads it

Fixes flake observed in https://github.com/functions-dev/func-operator/actions/runs/25655429302/job/75302614248

ensureFuncVersion() only checked if the cached binary file existed,
not whether it had execute permission. If the binary lost its execute
bit (e.g. due to a partial download or filesystem issue in CI), the
test would fail with "permission denied" and cascade-fail other specs.
@creydr creydr enabled auto-merge May 11, 2026 07:54
@creydr creydr disabled auto-merge May 11, 2026 08:23
@creydr
Copy link
Copy Markdown
Collaborator Author

creydr commented May 11, 2026

Closing in favor of #132

@creydr creydr closed this May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant