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