third-stats
third-stats copied to clipboard
Setup automatic WebExtension development builds/releases via CI
Setup automatic builds and (WebExtension) artifact creation via CI to facilitate better development workflow and easier/faster user testing prior to release.
- [x] Per-PR and per-push CI
- ~Produce a GitHub 'release' for each PR created and/or merged or changeset pushed to master~
- ~'New' releases should contain commits / commit log messages since the last build (ie; a changelog)~
- [ ] Submit new builds to AMO on creation of release tag (if possible) [1]
Possibly Relevant/Useful Links:
- Command line tool to help build, run, and test WebExtensions
- [1] https://github.com/mozilla/web-ext/issues/804
- webext-shipit: Automate shipping Web Extensions for Chrome, Firefox, Safari, Opera and Edge.
- webext-shipit-submit: Wrapper around Mozilla’s web-ext to submit extensions to AMO
- Continuous Integration for a Firefox Extension
+1 for automation. This is already on my todo list - I'll see when I have time to properly implement this.
I've now added a GitHub action, that does the following:
- build the project on each commit/push
- create a corresponding Thunderbird add-on
.xpifile, named after the next minor release with an alpha suffix and a timestamp of creation - save that file as artifact and push it to a dedicated CDN
I won't automate the creation of releases as I want to keep the release list clean from alpha releases.
GitHub artifacts can be found under Actions > Nightly Builds > Choose last build and scroll to the artifacts section: https://github.com/devmount/third-stats/actions?query=workflow%3A%22Nightly+build%22
The ThirdStats release CDN can be found here: https://third-stats.cdn.devmount.com/
Thanks again for proposing this. As soon as ATN is able to automatically receive submissions, I will implement your last point with an additional GitHub action.
Thanks @devmount Can we add a link to the 'per commit' (main) somewhere in the docs or repo README (or whever else is appropriate
Already done that:
