rickparrish / Usurper

32 and 64bit ports of Usurper BBS door game version 0.20e
79 stars 18 forks source link

Add distribution packages to github releases #27

Open tracker1 opened 2 years ago

tracker1 commented 2 years ago

Would be a good idea to add downloadable distribution packages to the releases area on github.

Might be worthwhile to setup/configure a build environment for ci/cd for an "alpha/latest" release as well. Could use github actions, but not sure about DOS compiles or even if that's a thing being done... maybe with qemu or something.

rickparrish commented 2 years ago

This sounds interesting, but I barely scratch the surface with my knowledge of how GitHub works, so it also sounds like Greek to me!

Googling a bit I did find https://github.com/marketplace/actions/setup-lazarus-environment, but it's not clear to me exactly what it does/what its purpose is. Does it just build to confirm that the latest commit/merge didn't break the build? Or can it commit the built binaries that I'm currently doing manually in 3 VMs? Or can it create a release?

tracker1 commented 2 years ago

@rickparrish you should be able to do what you're doing in VMs... for "DOS" you'll need to use QEMU, you can also do anything you want via containers/docker. IIRC, you can specify pipelines for macos, arm etc as well as the x86 default. If you message in FB messenger, probably the best way to get a hold of me... if you have a document describing your build process currently, should be able to help by making a PR that would do the build/release pipeline stuff.

tracker1 commented 2 years ago

https://docs.github.com/en/actions/using-github-hosted-runners/customizing-github-hosted-runners

rickparrish commented 2 years ago

@tracker1 Thanks for the suggestion, while investigating cross-compiling I came across fpcupdeluxe, which made it super simple to handle all the builds from a single windows-based github actions runner (well, after a bit of trial and error anyway)

There's a script to build a pre-release on every push/merge, and once the next release is ready I'll add another script to handle tagged releases too.