WebToEpub icon indicating copy to clipboard operation
WebToEpub copied to clipboard

Create new github release with each pull

Open gamebeaker opened this issue 1 year ago • 16 comments

In github actions is already a workflow that automatically builds the addon. The idea is that this build is automatically released as a new version on github so that people can get the latest version on github. It looks like there is a pre-release flag that could be associated with such releases. grafik

@dteviot doesn't have to upload the latest release to google drive anymore.

Related to #41 how should the versoning be handeled? 0.0.0.160-beta.01 and 01 increases with each pull?

Another option would be to override the latest pre release binarys with the new ones. 0.0.0.160-beta Problem: If someone installs this version it could be unclear to him that a few weeks later the version with the same name is another version.

I don't know how github actions work so help is appreciated.

gamebeaker avatar Aug 08 '24 19:08 gamebeaker

Hmm, this is something that both Azure and Jenkins provide in their workflows, but I'm not entirely sure on the implementation for GitHub. A lot would be based on implementing it into the existing workflow: https://github.com/dteviot/WebToEpub/blob/ExperimentalTabMode/.github/workflows/node.js.yml

An existing Workflow which seems to do this is here: https://github.com/github/safe-settings/blob/main-enterprise/.github/workflows/create-pre-release.yml

Some documentation & general information https://blog.kubesimplify.com/automated-github-releases-with-github-actions-and-conventional-commits https://github.com/marketplace/actions/github-releases-for-automated-package-publishing

I haven't read it all yet myself, but it should make for some interesting reading...

Kiradien avatar Aug 08 '24 20:08 Kiradien

Random note from another dev issue, don't want to spam that thread:

@Kiradien why can't you run lint locally?

image I've fixed the issue locally a few times, but it always ends up being a pain when running my Windows install.

Kiradien avatar Aug 08 '24 20:08 Kiradien

@Kiradien do you run windows or linux?

gamebeaker avatar Aug 08 '24 20:08 gamebeaker

Both - Linux for work, Windows for relaxation. However, I tend to be booted into Windows when I work on and test WebToEpub.

Kiradien avatar Aug 08 '24 21:08 Kiradien

If you use vscode in the right bottom corner is a button where you can change lf to crlf. grafik

gamebeaker avatar Aug 08 '24 21:08 gamebeaker

I did that once before; ended up needing to change every single parser to CRLF before it got rid of the error, which I had to revert to check in. I'd honestly be more worried about it if it wasn't just me hitting this, 90% sure there's an installation error on my end since no one else hits these.

If I really need to compile, I may as well just delete the linebreak-style req from eslintrc all together, resulting in a single file change instead of dozens.

Kiradien avatar Aug 08 '24 23:08 Kiradien

This looks like a solution to me. https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings

text eol=crlf Git will always convert line endings to CRLF on checkout. You should use this for files that must keep CRLF endings, even on OSX or Linux.

dteviot avatar Aug 09 '24 07:08 dteviot

As regards versioning, I think it should go something like 1.0.x.y where x gets bumped each time a version is published to the Chrome and Firefox stores, and y is bumped with each commit. Resetting to 0 when x is bumped. But you really want an automated process to handle that, as part of the commit to GitHub.

dteviot avatar Aug 09 '24 07:08 dteviot

I created it and the latest build will always will be here: https://github.com/dteviot/WebToEpub/releases/tag/developer-build

gamebeaker avatar Aug 20 '24 17:08 gamebeaker

@gamebeaker It's not doing the latest build. If you examine the source from https://github.com/dteviot/WebToEpub/releases/tag/developer-build, the version in the manifest file is 0.0.0.161. And I don't see the parser I just added. (novelsect) The Full Changelog also shows the history is incomplete. Also, the instructions don't mention that the extensions are in the zip file, so you'll need to download the zip, then extract the wanted extension from it.

dteviot avatar Aug 21 '24 10:08 dteviot

@dteviot did you download it? If i download the zip and look at the Chrome zip i see your new NovelsectParser.js file and the manifest version is 0.0.0.163

The 5 commits to ExperimentalTabMode message is wrong. (edit: found fix) image

The Full Changelog also shows the history is incomplete.

I would say it is wrong because the latest version was 160 not 159 but i see see all changes.

Also, the instructions don't mention....

You are right. On your google drive the firefox version is a zip file instead of xpi is it just renamed or is it something else? Are your realeses on github signed?

Maybe you were to fast and the action wasn't completed yet.

gamebeaker avatar Aug 21 '24 11:08 gamebeaker

@gamebeaker

You are right. On your google drive the firefox version is a zip file instead of xpi is it just renamed or is it something else?

Yes, I renamed it. I think because long ago the instructions said to unzip it and people get confused being asked to unzip an xpi.
However, Firefox doesn't require unzipping to load an "in-development" extension. Also, did renaming, so Firefox and Chrome versions were labelled.

I probably need to have a think about this.

dteviot avatar Aug 21 '24 19:08 dteviot

You can trigger a new release manually here: https://github.com/dteviot/WebToEpub/actions/workflows/AutoRelease.yml image I gave the different numbers in the version names: 0.0.0.160 milestone.majore.minore.dev

If for example minore is choosen it increases+1 and dev gets set to 0 and if milestone is choosen it gets +1 and all other gets set to 0. If the value is not valid it is treated as dev.

gamebeaker avatar Aug 22 '24 00:08 gamebeaker

@dteviot already uploaded the new release to firefox and chrome? I ask because i thougt the next version will be something like: 0.0.1.0 or 1.0.0.0 not 0.0.0.167

gamebeaker avatar Aug 23 '24 11:08 gamebeaker

@gamebeaker Yes, I uploaded the build. And you're right, I should have labelled it 1.0.0

dteviot avatar Aug 23 '24 21:08 dteviot

@dteviot Ok if for the next release just execute the workflow with the parameter "milestone" https://github.com/dteviot/WebToEpub/actions/workflows/AutoRelease.yml image than the version will be 1.0.0.0 Why increase Version number with github actions and not simple with a push? After each push the dev number get increased automatically wich means the new Version would be X.X.X.1

gamebeaker avatar Aug 23 '24 21:08 gamebeaker