Skip to content

Add workflow-inputs JS action#36

Open
lorisleiva wants to merge 1 commit into
mainfrom
loris/move-workflow-inputs-action
Open

Add workflow-inputs JS action#36
lorisleiva wants to merge 1 commit into
mainfrom
loris/move-workflow-inputs-action

Conversation

@lorisleiva
Copy link
Copy Markdown
Member

This PR brings the workflow-inputs action into the monorepo as a new sibling to install-solana and setup-ubuntu. It renders the inputs of the current workflow run as a markdown table in the job summary. This is useful for workflow_dispatch runs so anyone reviewing later can see what inputs triggered them. Consumers will reference it as solana-program/actions/workflow-inputs@v1.

Unlike the existing composite actions, this is a JavaScript action bundled with Vite+: TypeScript sources live under workflow-inputs/src/, and the committed workflow-inputs/dist/index.js is what the runner executes. Two new path-scoped CI workflows (workflow-inputs-ci.yml and workflow-inputs-e2e.yml) are also added to test the action on changes to workflow-inputs/**.

This PR brings the [`workflow-inputs`](https://github.com/lorisleiva/workflow-inputs-action) action into the monorepo as a new sibling to `install-solana` and `setup-ubuntu`. It renders the inputs of the current workflow run as a markdown table in the job summary. This is useful for `workflow_dispatch` runs so anyone reviewing later can see what inputs triggered them. Consumers will reference it as `solana-program/actions/workflow-inputs@v1`.

Unlike the existing composite actions, this is a JavaScript action bundled with [Vite+](https://viteplus.dev): TypeScript sources live under `workflow-inputs/src/`, and the committed `workflow-inputs/dist/index.js` is what the runner executes. Two new path-scoped CI workflows (`workflow-inputs-ci.yml` and `workflow-inputs-e2e.yml`) are also added to test the action on changes to `workflow-inputs/**`.
@lorisleiva lorisleiva requested a review from joncinque May 21, 2026 13:47
Copy link
Copy Markdown
Contributor

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks!

Comment on lines +5 to +8
# Override the global gitignore which excludes dist/. JS GitHub Actions
# require the bundled output to be committed so the runner can execute it.
!dist/
!dist/**
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repo doesn't have a global gitignore 😅 but I guess it can't hurt in case we add one later

Comment thread workflow-inputs/README.md
{
"text": ${{ toJSON(steps.inputs.outputs.summary) }}
}
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool!

Comment thread workflow-inputs/README.md

## Acknowledgments

Inspired by a Slack thread where Jon pointed out that GitHub Actions doesn't show the parameters used in a manual workflow run, so figuring out what happened in a deploy after the fact is harder than it should be. This action puts those parameters where you can find them later.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

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

Successfully merging this pull request may close these issues.

2 participants