Feature Request: First class support for actions-as-code (Primarily: TypeScript) (Potentially: Java, Python, etc.)

GitHub actions currently only supports YAML as configuration for actions. While YAML is great, GitHub Actions supporting high-level programming languages (Example: Typescript) will enable use cases that cannot be accomplished by YAML alone.

Examples:

  • Modularization / Library Support
  • All the IDE benefits. Auto completion, syntax checking, looping structures, code generation, etc. (I can see this working really well with VSCode)
  • Far far far (I can not emphasize this point enough), reduction in boilerplate code
  • Early detection of configuration errors through local validation
  • Establish enterprise scale configuration-as-code frameworks tuned for that enterprise
  • and more!

This feature has been proven out in other CI/CD tools with great success, such as Atlassian’s Bamboo Specs (CI/CD with high-level programming languages) as well as AWS CDK (high-level programming languages as infrastructure-as-code. See how AWS CDK compares to AWS CloudFormation, which is written in YAML, as a comparison to see what GitHub Actions could look like).

Thank you for reading this suggestion! Curious on what everyone’s thoughts are?

1 Like

@NguyenAndrew,

Thanks for your feedback.
GitHub takes your suggestions very seriously, and the suggestions are very helpful for improving GitHub.

I recommend that you can directly share your suggestion here. That will allow you to directly interact with the appropriate engineering team, and make it more convenient for the engineering team to collect and categorize your suggestions.

In addition, you also can follow the ‘GitHub public roadmap’ repository. From this repository, you can learn about what features the engineering team is working on, what stage they’re in, and when the team expects to bring them to you.

1 Like

@brightran

Thank you replying to my post. I have directly shared the suggestion using the link you provided. I have also ‘starred’ the GitHub public roadmap.

Will keep people updated, when I get a response back from the direct share. Definitely willing to keep this thread as an avenue for open conversations/concerns on this feature.

Configuration-as-(programming-language)code is definitely one of the new advancements in the industry that is hard to see the benefits of, until you try it out yourself, and I hope to leverage my industry experience to answer any uncertainties!

1 Like