Skip to content

Unhelpful errors on syntax issues #498

Open
@dktapps

Description

Is your feature request related to a problem? Please describe.

Currently problems with action code can cause errors like this:

SyntaxError: Unexpected token '.'
    at new AsyncFunction (<anonymous>)
    at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:[35](https://github.com/dktapps/RestrictedActions/actions/runs/11989435916/job/33425884775#step:4:36)424:16)
    at main (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35522:26)
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:35497:1
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:35553:3
    at Object.<anonymous> (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35556:12)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Module._load (node:internal/modules/cjs/loader:1024:12)

I haven't the faintest clue where or why this happened with my code. Plugging it into a linter didn't reveal any problems.

It would be nice if the error output included a line number in the actual action code to show where the problem occurred, or even better printed the line in question.

Here's the code this happened with, if it's relevant:

      - name: "Check if bot's review was dismissed (pull_request_review.dismissed only)"
        id: re-review
        uses: actions/github-script@v7
        env:
          APP_SLUG: ${{ steps.generate-token.outputs.app-slug }}
          REVIEWER_ID: ${{ github.event.client_payload.reviewer_id }}
        with:
          github-token: ${{ steps.generate-token.outputs.token }}
          script: |
            const reviewer_id = process.env.REVIEWER_ID;
            console.log(reviewer_id);
            if (reviewer_id === "0") {
              console.log("No reviewer ID provided, continuing with re-review");
              core.setOutput('skip', 'false');
            } else {
              console.log("Reviewer ID provided: " + reviewer_id);
              const user_info = await github.rest.users.getByUsername({
                process.env.APP_SLUG + '[bot]'
              });
              const bot_user_id = user_info.data.id;
              if (bot_user_id != reviewer_id) {
                console.log(`Not the bot's review that was dismissed (expected user ID: ${bot_user_id}, got: ${reviewer_id})`);
                console.log('Skipping re-review');
                core.setOutput('skip', 'true');
              } else {
                console.log("Bot's review was dismissed, continuing with re-review");
                core.setOutput('skip', 'false');
              }
            }

Describe the solution you'd like

It would be nice if the error output included a line number in the actual action code to show where the problem occurred, or even better printed the line in question.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions