asciidocfx / AsciidocFX

Asciidoc Editor and Toolchain written with JavaFX 21 (Build PDF, Epub, Mobi and HTML books, documents and slides)
http://www.asciidocfx.com/
Apache License 2.0
1.88k stars 295 forks source link

Add github workflow to automatically test PRs and commits on github #520

Open Ayowel opened 3 years ago

Ayowel commented 3 years ago

This workflow automatically builds AsciidocFX when a new PR is issued. I added an install4j job but unfortunately could not test it. I will be adding unit tests when creating future PRs for asciidocfx#519 and thought that having direct feedback on the build's status from within Github without forcing each fork to setup its own CI could prove usefull.

See https://github.com/Ayowel/AsciidocFX/pull and https://github.com/Ayowel/AsciidocFX/actions for a build example

rahmanusta commented 3 years ago

Currently we are using travis ci, but we can move to github workflow.

Ayowel commented 3 years ago
* * Compiling, running tests

Supported, as can be seen in the PR

* * Building runnable artifacts for Mac, Windows and Linux

Should be supported as install4J builds cross-platform. I need to test it though.

* * * Currently, we are using install4j (I can share with you the license key), it is free for open-source projects, but we can consider to use jpackage

Jpackage does not build cross-platform and github does not provide a windows execution environment, so not really an option :/


I had more thought of this as a bonus for development/integration rather than a replacement for travis. Looking at the travis file, what is needed:

For maintainance:

For releases:

Ayowel commented 3 years ago

@rahmanusta I am at a point where I need a licence key to continue. How do you want to send it ? To avoid notification spam, I'm working on a different branch on my fork (feature/github-workflow-release) and will merge once the workflow is ready

rahmanusta commented 3 years ago

@rahmanusta I am at a point where I need a licence key to continue. How do you want to send it ? To avoid notification spam, I'm working on a different branch on my fork (feature/github-workflow-release) and will merge once the workflow is ready

Can you reach me out an email and I’ll send you the license key? My email: rahmanusta@kodedu.com

Ayowel commented 3 years ago

Can you reach me out an email and I’ll send you the license key? My email: rahmanusta@kodedu.com

Done, The mail's title is [AsciidocFX] install4J license key, sent at 22:21 GMT+0

Jpackage does not build cross-platform and github does not provide a windows execution environment, so not really an option :/

Looks like I lied https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources . Moving to Jpackage might be feasible, albeit somewhat tricky. I probably won't even try.

Ayowel commented 3 years ago

This should be it.

As discussed via mail

Configuration

Create an install4j secret environment in github and configure the following secrets:

Additional notes