dhowe / AdNauseam

AdNauseam: Fight back against advertising surveillance
GNU General Public License v3.0
4.51k stars 189 forks source link

Automate release workflow #2307

Open mneunomne opened 1 year ago

mneunomne commented 1 year ago

In order for us to save some time and have more constant releases based on master, we could implement an automated release workflow, like uBlock Origin does:

https://github.com/gorhill/uBlock/blob/master/.github/workflows/main.yml

mneunomne commented 1 year ago

actually we need to simply implement our own method based on the file its already on our repo:

https://github.com/dhowe/AdNauseam/blob/master/.github/main.yml

dhowe commented 1 year ago

would be great

mneunomne commented 1 year ago

I've been trying out to make it work on my fork, I was able to make the workflow get triggered and everything, but seems like we use quite different method of uBlock in our building process for the artifacts.

uBlock Origin doesn't build the artifacts from shell script directly with the browser application as we do, seems like the shell script simply zips a constructed folder structure, and then uses a python script to sign the zipped build. In the python file there is an explanation of the process:

https://github.com/dhowe/AdNauseam/blob/994a784beb8d38c35b0e5f44ba7dcaff06f96771/dist/firefox/publish-signed-beta.py#L19-L33

In our case we instead need to have Chrome, Firefox and Opera setup in the workflow script in order to run the build commands from the browser applications themselves. I was able to install them in the script, but currently facing some other issues with the shell script.

If everything works out with our current system we will at least be able to make beta release with one command from terminal whenever master is stable enough.

I'll update here if I am able to make some progress.