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