Support setting a post hook

Aperta
#592 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
github-actions, javascript, node.js, typescript
Ambito
ci-cd, devops, tooling

Direzione di ricerca

Start by tracing the existing github-script action entry point and how it handles the script input, then compare the node20 post-hook model and core.saveState behavior described in the issue. Done means a new post input runs cleanup after the job while preserving existing usage and supporting shared state.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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)

Lingua principale
TypeScript
Stelle
5k
Fork
586
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di actions/github-script

Tutte le issue di actions/github-script

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.