How to programmatically upload files through GitHub release assets

Bryant Jimin Son
5 min readAug 28, 2022
How to programmatically upload files through GitHub release assets

GitHub is a git based system that is designed to store computer program specific source codes or simple documentation files like Markdown files. However, I encountered numerous situations where users want to store blob files like MP4, ZIP files as they are coming from places like Nexus, GitLab, Bamboo, and other version control system or storage systems, and they expect GitHub to host all these files. My number one recommendation for them is “no, you should not think GitHub as a place to dump all sorts of files. Instead, go leverage other dedicated storage solutions like Azure blob or AWS S3.” However, in a case where they want to store files like NPM packages for NodeJS, Gem packages for Ruby, Gradle/Maven packages for Java, and Nuget packages for C#, GitHub Packages can be wonderful solutions. You can even containerize some data and push to GitHub container registry. But in a case where you want to store blob files like ZIP or MP4, your solution is quite limited. Although you can store these files using Large File Systems (LFS), I’ve seen use cases where they want to upload these files through a GitHub Actions workflow then to download from another GitHub Actions workflow after quite sometime later. Although GitHub Artifacts can be a solution to temporarily offer a viable solution to share files through GitHub Actions, GitHub Artifacts have two limitation…

--

--

Bryant Jimin Son
Bryant Jimin Son

Written by Bryant Jimin Son

A cloud practitioner talking about technology, travels & career tips. But I will sometimes cover financial advises and some random stuffs.

No responses yet