third-stats icon indicating copy to clipboard operation
third-stats copied to clipboard

Setup automatic WebExtension development builds/releases via CI

Open koobs opened this issue 4 years ago • 4 comments
trafficstars

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:

koobs avatar Nov 30 '20 01:11 koobs

+1 for automation. This is already on my todo list - I'll see when I have time to properly implement this.

devmount avatar Nov 30 '20 04:11 devmount

I've now added a GitHub action, that does the following:

  • build the project on each commit/push
  • create a corresponding Thunderbird add-on .xpi file, 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.

devmount avatar Jan 29 '21 15:01 devmount

Thanks @devmount Can we add a link to the 'per commit' (main) somewhere in the docs or repo README (or whever else is appropriate

koobs avatar Jan 30 '21 03:01 koobs

Already done that:

image

devmount avatar Jan 30 '21 04:01 devmount