ibiqlik / action-yamllint

GitHub Action - Yaml Lint
MIT License
96 stars 41 forks source link

Unable to find entrypoint.sh #13

Closed adamzimmermann closed 2 years ago

adamzimmermann commented 3 years ago

First off, thank you for creating this action. It's amazing how simple and valuable it is to add this to our workflows to keep ourselves accountable.

We are trying to update to the latest version of this action and seeing this:

Run ibiqlik/action-yamllint@v3
  with:
    config_file: .yamllint.yml
    format: github
    strict: false
/__w/_temp/5dd290ab-796c-4f22-9b66-6cb663b9c81b.sh: line 1: /home/runner/work/_actions/ibiqlik/action-yamllint/v3/entrypoint.sh: No such file or directory
Error: Process completed with exit code 127.

This is our configuration.

- name: YAML Lint
  uses: ibiqlik/action-yamllint@v3
  with:
    config_file: .yamllint.yml

Any ideas on what we are missing or doing wrong? 🤞🏼

ibiqlik commented 3 years ago

@adamzimmermann glad you're finding this useful 🙇

Are by any chance running it on a self-hosted runner? Not that it should be any different but I tried it on couple of repos using the same configuration as yours and I just can't reproduce the error.

As a side note, if you rename your .yamllint.yml to .yamllint (it already looks like it's in the root folder), you don't have to specify with: config_file: at all because yamllint will by default use .yamllint configuration if it finds it. So your configuration can become:

- name: YAML Lint
  uses: ibiqlik/action-yamllint@v3
adamzimmermann commented 3 years ago

Are by any chance running it on a self-hosted runner? Not that it should be any different but I tried it on couple of repos using the same configuration as yours and I just can't reproduce the error.

Nope.

As a side note, if you rename your .yamllint.yml to .yamllint (it already looks like it's in the root folder), you don't have to specify with: config_file: at all because yamllint will by default use .yamllint configuration if it finds it. So your configuration can become:

Ah, thank you. I'll look into this more later today or next week and report back.

djallits commented 3 years ago

@ibiqlik

We accidentally merged this in and subsequently reverted it. However, in our continued testing, we did rename the .yamllint.yml to .yamllint which did not alter the error described by @adamzimmermann.

Please confirm my interpretation of the error. This appears to be an issue where the copied workfile in the container /__w/_temp/5dd290ab-796c-4f22-9b66-6cb663b9c81b.sh is unsuccessfully attempting to resolve the entrypoint.sh file at /home/runner/work/_actions/ibiqlik/action-yamllint/v3/entrypoint.sh

ibiqlik commented 3 years ago

In v3 the action switched from Docker action to Composite action since the yamllint is now installed on all runners, this shaved off ~15s of the run (by avoiding docker build).

The way I interpret the error is the /__w/_temp/5dd290ab-796c-4f22-9b66-6cb663b9c81b.sh script is auto created by GitHub Actions (based on shell definition in action.yml https://github.com/ibiqlik/action-yamllint/blob/master/action.yml#L28) and runs the command/snippet defined in https://github.com/ibiqlik/action-yamllint/blob/master/action.yml#L27, but for whatever reason the file is not there.

Perhaps enabling debugging logs https://docs.github.com/en/actions/managing-workflow-runs/enabling-debug-logging will show more information on the failure.

@djallits @adamzimmermann By any chance you are running this action on a public repo that I could look at and fork it for testing?

djallits commented 2 years ago

@ibiqlik The project Adam and I were working on was in a private repository containing proprietary code. I am currently not using yamllint in any public repositories at this time and have moved on from that project.

Thank you for following up, and for the updates, you did pass along. Will definitely reuse this action in the future.