editly
editly copied to clipboard
Create GitHub Action for creating and releasing videos
Re-ticketed from: https://github.com/mifi/editly/issues/62#issuecomment-740241101
The proposal is to have a github action (or just a workflow template) to help FOSS projects keep a json config file in their project, and have videos generated automatically by GitHub Actions. This would allow supportive video resources to be created with very little maintenance burden on project owners.
The thought is that it might help projects to make it simple for them to generate videos. This could happen according to various triggers:
- on changes to json config file or source material
- on tagging (to generate a new video for docs on official release)
- each commit (assuming e2e test specs are recorded as video content, see below)
Resources
- Cypress GitHub Action: https://github.com/cypress-io/github-action
- this action also updates videos as assets, so could use it as reference
- perhaps there's a way to have Cypress also generate "walkthrough" videos for projects, which editly could assemble into supportive videos showcasing project behavior. I'm sure there's a pattern here worth thinking about, but i don't have a full view
- https://github.com/actions/upload-artifact
- how cypress action recommends uploading
To Do
- [x] get editly working in docker (#96)
- [x] get simple MVP GitHub Action build working in new repo: https://github.com/patcon/editly-videos
- [x] get upload-artifact action working
- [ ] Add simple cypress run workflow, and incorporate generated video into demo
- [ ] stretch: create a github action repo
- [ ] stretch: integrate GitHub Packages to store docker images (so no need to rebuild)
💡 Might also be neat to have youtube-dl work automatically. I could imagine this happening by either:
- pre-downloading files in github action workflow, and dropping them into place as clips that json config uses
- storing urls directly in json file, but awk'ing the url for the local file before running editly on it (maybe this is a little too magic, but could have a flag that needs to be explicitly turned out, so ppl knew that the action was doing something special that wouldn't work locally)
Working on this here: https://github.com/patcon/editly-videos
- 💡 Potentially could support use of releases to make embedding generated GIFs in readme simpler:
- goal: consister urls where link can change underneath and not need to commit change to markdown file (which is doable with github actions, but messy)
- GitHub Action to create release assets: https://github.com/marketplace/actions/upload-a-release-asset
- release docs: https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/linking-to-releases
- this approach also could work, but it would need file committed to repo instead of appended as release asset outside commit history: https://github.com/labnol/files
- ~~try embedded release assets in README, as they have consistent url~~ doesn't work
- alternative: build github pages site on
gh-pages
. pro = link to asset can be persistent. con = storing generated asset in git repo, which will inflate the repo size. - alternative: post generated asset to imgur, and just auto-update link in repo docs. pro = asset stored outside repo. con = need to update markdown and recommit.
- alternative: build github pages site on
This is such a cool idea.