[Ohrrpgce] Plans for moving the nightly builds

James Paige Bob at hamsterrepublic.com
Thu Dec 17 17:59:44 PST 2020


I'm glad to know me is easy to use. Hopefully I'll have time to try it this
weekend.

I don't know yet how long it will take to get the docket stuff working
well, so we might still want to switch from rcedit to ResourceHacker

---
James Paige

On Wed., Dec. 16, 2020, 7:51 p.m. Ralph Versteegen, <teeemcee at gmail.com>
wrote:

> Sounds great!
>
> Just a couple days ago I updated mxe (I'm intending to update
> SDL_mixer.dll) and was pleased with how simple it was:
>   git pull
>   make MXE_TARGETS=i686-w64-mingw32.static
> The fact that it prints nothing to the terminal except the names of the
> packages being recompiled makes it seem simpler :) It didn't even take that
> long to recompile the whole toolchain, I think around half an hour?
> scons target=i686-w64-mingw32.static release=1 pdb=1 builds additionally
> require wine, but they work fine.
>
> However I never got around to trying out a cross compiler targeting Mac.
>
> One advantage to shifting Windows builds to mxe is that they don't trip
> virus scanners when you embed an icon!! Because of this problem I was
> intending to switch from rcedit to ResourceHacker for icon embedding for
> hróðvitnir. Should I still do this, or will docker-based building be ready,
> at least for stable releases, before the release?
> Other advantages are that we could delete plotdictionary.html from the
> repo and generate it in nightly build scripts instead, so it's always
> up-to-date and to avoid that pollution of diffs (Come to think of it, I
> could probably config git to hide diffs for it anyway), and that the .exe
> files are around 0.5MB smaller than current builds (due to better libstdc++
> dead code removal I think).
>
>
>
> On Wed, 16 Dec 2020 at 14:33, James Paige <Bob at hamsterrepublic.com> wrote:
>
>> I started some work on restructuring the nightly builds.
>>
>> Right now they are shell scripts run in a separate VM for each platform.
>>
>> My plan is to start using Docker containers with all the build
>> requirements, and a Jenkins pipeline that will describe how a Jenkins
>> server will run the build scripts and upload the nightlies.
>>
>> I think this will make the builds more streamlined, and will make it much
>> easier for other people to reproduce a working build environment, which
>> removes a barrier for entry for new developers.
>>
>
> In my experience most of the people who have expressed interest in
> contributing are running Windows. I see Docker supports Win 10, if you have
> WSL installed too, but that might not be much simpler.
> Last time someone asked about setting up a build environment I couldn't
> give clear instructions due to all the crazy mingw and freebasic
> combinations possible and they were put off;
> https://rpg.hamsterrepublic.com/ohrrpgce/Windows_compiling_requirements
> doesn't make things sound simple! We should have a short bullet point list
> of download links and instructions.
>
> A number of people have also mentioned being put off by FreeBASIC; my
> impression is that it's because they aren't experienced programmers so
> learning a new (or their first real) language is daunting for them. It
> would be so fantastic if we could start writing parts of the engine in (an
> upgraded) HS, or at least an underlying scripting language like lua or
> squirrel, so that *no extra tools are necessary*! That's the long term
> direction I think we need to take.
>
> Also, we often talk up how bad the code (or some part of it) is and this
> *definitely* puts off people too, maybe more than anything else. I think
> we've been shooting ourselves in the foot here and we (I) need to stop
> doing this; the codebase on the whole is not so bad anymore! Can we please
> change the self-deprecating README.txt and the "apologies for crappyness of
> this code" file headers? Let's update the README to a markdown doc intended
> as the github front page, maybe with a screenshot or two.
> I'd also like to continue code reorganisation into different .bas files
> but I sometimes avoid it because of worry about my excessive unmerged git
> branches.
>
>
>>
>> It should also open the way for possibilities like automatically running
>> test builds each time changes are pushed, rather than just nightly, and for
>> the possibility of running multi-platform test builds on branches before
>> they are merged.
>>
>> I know this will work well for Linux builds, and Android builds, and I
>> think I can possibly use mxe to make it work for windows builds too. Mac
>> builds are a bit more iffy I think-- I don't yet know what is involved with
>> making those cross-compile in a container, but at least it will reduce the
>> number of virtual machines I have to manage :D
>>
>> I don't expect any changes at this time that would break the existing
>> nightly builds, so those won't be deprecated until I know the
>> Docker+Jenkins builds are working well.
>>
>> ---
>> James Paige
>>
>> _______________________________________________
>> Ohrrpgce mailing list
>> ohrrpgce at lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20201217/1457886a/attachment.html>


More information about the Ohrrpgce mailing list