Skip to content

Support setting a post hook #592

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
gnpar opened this issue Apr 30, 2025 · 0 comments
Open

Support setting a post hook #592

gnpar opened this issue Apr 30, 2025 · 0 comments

Comments

@gnpar
Copy link

gnpar commented Apr 30, 2025

Is your feature request related to a problem? Please describe.
With actions/github script it's not possible to setup some cleanup logic to run at the end of the job.

Describe the solution you'd like
A post hook is supported by node20 actions. Adding support for this would not be too difficult on github-script, as it's just a separate function that can be set on an additional post input.

The change would be fully backwards compatible and not too disruptive.

Usage would look like this:

    - name: My github script
      uses: actions/github-script@v7
      with:
        script: |
          console.log("Running my github script");
        post: |
          console.log("Running cleanup logic for my github script");

State sharing between both scripts would be supported out of the box by core.saveState, so this would be a very powerful addition.

I'm willing to work on a PR for this feature in the next few days.

Describe alternatives you've considered

  • Using an additional action with if: always() for cleanup, this requires putting the cleanup step at the end of the job, potentially far from the step it's cleaning after.
  • Using a node action directly: this would require duplicating parts of this project for toolkit set up.

Additional context

Use case where the need for this has come up: creating a "check" (github.rest.checks.create) at the beginning of a job, and making sure the check is marked as completed at the end (either with success or failure based on the job status)

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

No branches or pull requests

1 participant