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