Dale, We already have dockers running Linux--Arch Linux, Ubuntu-18.04, and Ubuntu-20.04--on Travis CI and Github actions. Feel free to borrow whatever you need from there to update yours, the docker files are in utils/ci.
Chris isn't looking for CI, he wants a Windows Docker image with all the dependencies set up as a shortcut to using gnucash-on-windows to create a build environment. On the other hand *I* want to get a Github action for Windows CI set up but I'm stuck on accessing MSYS2. https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md says that Mingw-w64 is preinstalled but doesn't provide any information on where. Do you know? Regards, John Ralls > On Dec 8, 2020, at 8:01 AM, Dale Phurrough via gnucash-devel > <gnucash-devel@gnucash.org> wrote: > > If Linux builds only, then only two things needs to be done: > > 1. Update the existing 3.x solution at > https://github.com/diablodale/gnucash-dev-docker to compile for GnuCash > 4.x. After someone understands the shared/common methodology, this is less > than a week of work. A single platform (e.g. Debian/Ubuntu) might even be > in hours. > 2. Copy the documentation I wrote at that same repo and integrate it > into GnuCash docs -- adapting it for any stylistic changes. This is less > than a day of work if someone understands GnuCash doc process. > > > On Tue, Dec 8, 2020 at 3:08 PM Christopher Lam <christopher....@gmail.com> > wrote: > >> Sounds all complex... A simple Dockerfile to set up a dev environment >> would be a good start! Or, if it already exists, documentation could be >> improved - "how to start hacking and building after a bare-bones >> linux+docker install". >> >> On Tue, 8 Dec 2020 at 13:00, Dale Phurrough <d...@hidale.com> wrote: >> >>> Hi. Anything is possible. ;-) >>> >>> Regarding Dockerfiles to build Gnucash for Linux, Windows, and Osx... >>> >>> - Gnucash 4.x has several dependency changes and I don't have a >>> dockerfile to build them. >>> - Linux updates will be relatively straightforward. It is usually >>> only differences in dependencies on the four Linux forks (arch, debian, >>> rhel, suse) >>> - Windows build needs some work. I was about a week away from having >>> a full clean build. I partnered with the core gnucash team to have several >>> issues fixed in the windows build script/process -- issues unrelated to >>> Docker. More work is needed to make the build consistent, smooth and easy >>> to automate. The types of issues found/fixed were, e.g.: only works in a >>> specific directory or specific build machine, custom scripts not part of >>> the source code, etc. >>> - Osx is not directly possible. There is no mechanism for the OS >>> directly inside a Docker container to be Osx. You could have the Docker >>> container be Linux and within that install a full virtualizer like >>> virtualbox and within that virtualbox vm install Osx. I am not a lawyer >>> and >>> I am not aware of the legality of using Osx in this way. There are also >>> cross-compilers -- using a compiler on Linux to build an Osx binary. >>> Unclear if this would be a reliable binary. Unclear how to test the binary >>> built. >>> >>> Here are a few things to consider regarding build/test pipelines: >>> >>> - Azure Pipeline isn't worth the trouble >>> - Appveyor works generally well. It is the most capable for >>> cross-platform building. >>> - Github actions is a mix of the two. It has linux, win, and macos >>> build environments...but doesn't support docker on all of them. >>> - Github actions should work to build/test all Linux GnuCash >>> versions. >>> - Github actions does not (yet) support Windows Docker containers. >>> This is because the Github runners for Windows do not (yet) support >>> running >>> Windows containers within them. See github action docs and >>> https://github.com/actions/virtual-environments/issues/1143 >>> - Github actions is only "preview" for Mac. Issues will arise due to >>> the host itself and the gnucash build process. >>> - If you want to use Github actions to build Windows and Osx, you >>> can't do it today with a Dockerfile. It can only be done by running the >>> build directly on their VM not using Docker. >>> >>> I have the knowledge to do this work, but I don't currently have the >>> bandwidth. I have this topic area and GnuCash reconciliation in my "queue"; >>> currently slotted for Feb/March 2021. >>> An alternative...I could support someone. Sumit Bhardwaj expressed >>> interest. >>> >>> --Dale >>> >>> >>> On Sun, Dec 6, 2020 at 3:03 AM Christopher Lam <christopher....@gmail.com> >>> wrote: >>> >>>> Hi Dale >>>> Docker is now firmly entrenched in the industry; would you be able to >>>> create a PR to set up the Dockerfile in the project root (or /util), and >>>> add a few notes in the wiki to help complete docker newbies? e.g. >>>> - how to set up a dev environment >>>> - automate build and install >>>> You may be aware we're moving away from travis to github actions. >>>> C >>>> >>>> On Wed, 17 Jul 2019 at 18:40, Dale Phurrough via gnucash-devel < >>>> gnucash-devel@gnucash.org> wrote: >>>> >>>>> Hi all. I finished the second stage of my project to automate >>>>> build/test of >>>>> GnuCash with Docker. See the badges, drill down to logs and individual >>>>> test >>>>> results at >>>>> https://diablodale.github.io/gnucash-dev-docker/ >>>>> >>>>> In previous emails you read about the easy consistent GnuCash build/test >>>>> with Docker. >>>>> https://github.com/diablodale/gnucash-dev-docker >>>>> >>>>> - Updated with clearer categorized build dependencies in Dockerfiles >>>>> - Used these Docker containers to build/test across 14 >>>>> distrib/versions >>>>> of Linux >>>>> - Containers can be built locally or downloaded from DockerHub >>>>> - Automated build and tests using these containers via CI on AppVeyor >>>>> - Transformed ctest results through XSLT to JUnit format >>>>> - Exposed build and test results to badges >>>>> >>>>> Still to do >>>>> >>>>> - Microsoft Azure CI Pipelines offers a free tier of CI that could be >>>>> used and 10x faster. I will explore their offering to see if it >>>>> meets needs >>>>> - Windows builds. Thanks to JohnR and GeertJ, good progress has been >>>>> made. I have the responsibility for next steps. I need to return to >>>>> my >>>>> testing to see what is missing or not functioning. >>>>> - Watch and evaluate AppVeyor. I exposed several bugs in the AppVeyor >>>>> offering as well as some limitations that required workarounds. I've >>>>> reported the issues to the AppVeyor team. >>>>> - Evaluate a switch to this docker build/test for GitHub PR testing. >>>>> The >>>>> existing Travis process being used has aged and doesn't test a full >>>>> suite >>>>> of functionality. With experience using AppVeyor and/or Microsoft >>>>> CI, the >>>>> core GnuCash team can evaluate switching away from the old Travis >>>>> method. >>>>> - Any related requests? Please send them to me. >>>>> >>>>> --Dale >>>>> _______________________________________________ >>>>> gnucash-devel mailing list >>>>> gnucash-devel@gnucash.org >>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel >>>>> >>>> > _______________________________________________ > gnucash-devel mailing list > gnucash-devel@gnucash.org > https://lists.gnucash.org/mailman/listinfo/gnucash-devel _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel