supercharge / mongodb-github-action

Use MongoDB in GitHub Actions
MIT License
222 stars 46 forks source link

Add action typing #44

Closed krzema12 closed 1 year ago

krzema12 commented 1 year ago

Hi @marcuspoehls!

I'd like to ask you to add a piece of documentation. However, it won't be yet another piece of Markdown. When working with various actions, I discovered that it's challenging to know what type of data is needed for the inputs of an action, the same for outputs. Every action has its own custom way of documenting it, if it documents it at all, which makes it challenging for humans and automation to work with various actions. I figured there must be a way to address it.

I looked for an inspiration in other ecosystems where types were added later, like TypeScript adding types for JavaScript, or type hints in the Python world. I decided to create github-actions-typing which aspires to be the standardized way of typing your action's API. Onboarding is as easy as adding an extra action-types.yml file to your repository root, and (optionally, although highly recommended) adding a simple GitHub workflow that validates this new file. It has no negative effects on current action consumers, they continue to use the action as if the file wasn't there.

In this feature request, I would like to ask you if you're open to introducing such typings in your action. You wouldn't be first - there're already other actions using it, like e.g.: microsoft/setup-msbuild, Vampire/setup-wsl, ReactiveCircus/android-emulator-runner (full list of actions using the validation workflow is here) If your answer is "yes", feel free to either add it yourself, or let me know - me or some of the other contributors would be happy to post a PR. We're also open to any kind of questions and feedback.

marcuspoehls commented 1 year ago

I can’t put any time to this at the moment. Maybe you can submit a pull request making the requested changes

krzema12 commented 1 year ago

@marcuspoehls here's one :point_up:

marcuspoehls commented 1 year ago

@krzema12 Merged. Thank you Piotr for helping out with the pull request!

krzema12 commented 1 year ago

@marcuspoehls my pleasure! Could you also release it? Otherwise it's technically not available for certain kinds of automation. It needs to be accessible from the major version tag (the new file should be visible when going to https://github.com/supercharge/mongodb-github-action/tree/v1).