Skip to content

support script-file - path to a file. #714

@osher

Description

@osher

Is your feature request related to a problem? Please describe.
passing JS as a multiline string parameter makes the script inaccessible to lint tools.

Describe the solution you'd like
It would be nice if I could write the action in a JS file, enjoying linters and any in-IDE help I can get, while still coding for github-script.

Describe alternatives you've considered
my work around is, for example, in a step that is a part of another compound action:

    - uses: actions/github-script@v7
      with:
        script: |
          const action = require('${{ github.action_path }}/action.js');
          await action({ core, context /* ... and more by need... */ });

and in action.js as sibling file to my action.yml

module.exports = async ({ core, context, /* ... and more by need... */ }) => {
  //...
}

Additional context
which is a work around, and assumes a paths structure.
The action could support it just as easy :)

Generalizing from that - I believe we can support expecting just an absolute path, or a path relative to repo root (with the Distinction is if it starts with / - its absolute, input check should deny file:// protocol.

Metadata

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