webui-dev / webui

Use any web browser or WebView as GUI, with your preferred language in the backend and modern web technologies in the frontend, all in a lightweight portable library.
https://webui.me
MIT License
3.05k stars 184 forks source link

ci: rework build workflow, deploy artifacts #143

Closed ttytm closed 1 year ago

ttytm commented 1 year ago

This PR reworks the build workflow to fix and extend it.

The main feature this results in is a CI of deployed build artifacts. Example: https://github.com/tobealive/webui/actions/runs/5626014645

While working on this feature, the current build workflow revealed itself as a bit foolish. Up until now there was no testing of windows with MSVC. This can either be seen by listing the directory contents or by uploading the build artifacts after the nmake command was run - both would result in an empty output. So this issue had to be fixed within the frame of this PR. All in all I tried to add the best practices and performance optimizations that I knew of.

The changes are the major part of #134. I will build upon them in the coming days to use the produced build artifacts in a workflow for version releases.

AlbertShown commented 1 year ago

"Nightly" pre-compiled builds can be found as release artifacts in the Actions section

Do you mean creating releases daily and adding them to the release section?

ttytm commented 1 year ago

Afaik nightly usually refers to the latest development build.

The workflow would add the build outputs of every commit as articats to the related workflow. So theoretically a user could always download the latest prebuild for all plafroms from the workflow.

The part I would work on separately is uploading them to github releases But this would only happen when a tag / version release is done.

AlbertShown commented 1 year ago

This is amazing work @tobealive! Thank you for that 👍