[GNC-dev] build stats/badges for GNC maint, 3.6, 3.5 using Docker
Dale Phurrough
dale at hidale.com
Tue Dec 8 08:08:18 EST 2020
Oops, I could be wrong. Github actions might now have the ability to run
Windows Docker containers. I or someone else needs to verify this.
--Dale Phurrough
On Tue, Dec 8, 2020 at 2:00 PM Dale Phurrough <dale at 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.lck at 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 at 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 at gnucash.org
>>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>>>
>>
More information about the gnucash-devel
mailing list