On 12/23/20 7:45 PM, JJ Merelo wrote:
You can probably use AppVeyor. It's got good support for Windows, although you'll have to write for it specifically. This one seems to use it, for instance https://github.com/MARTIMM/gnome-native <https://github.com/MARTIMM/gnome-native>

Hi Richard,

JJ is right about the Appveyor test of gnome-native but that one is only testing low level things not using anything of GTK. I did not do it for all packages yet but the closest working one is that of gnome-gdk3. You can find the results here; https://ci.appveyor.com/project/MARTIMM/gnome-gdk3/branch/master (with a lot of compiler warnings in the beginning though).

It is still failing for TRAVIS and I need to look at that still.

Below is the Appveyor script that I've used for gnome-gdk3 and might also work for gnome-gtk3 as well. I know that your package holds the necessary window libraries while mine is depending on the installation of the GTK libraries on Linuxes and using MSYS2 on windows in particular.


os: Visual Studio 2019
image:
  - Visual Studio 2019

platform: x64

branches:
  # whitelist
  only:
    - master

environment:
  raku_test_all: 1

install:
  - set PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%

  # install raku from git
  - cd C:\
  - git clone https://github.com/rakudo/rakudo.git
  - cd rakudo
  - perl Configure.pl --gen-moar --gen-nqp --backends=moar
  - gmake install
  - set PATH=C:\rakudo\install\bin;C:\rakudo\install\share\perl6\site\bin;%PATH%
  - cmd: dir C:\rakudo\install\bin

  # install zef from git
  - cd C:\
  - git clone https://github.com/ugexe/zef.git
  - cd zef
  - cmd: rakudo.exe -I. bin/zef install .
  - cmd: dir C:\rakudo\install\share\perl6\site\bin

  # set path to use MSYS2 tools like pacman
  - cd C:\
  - set PATH=C:\msys64\usr\bin;C:\msys64\usr\lib;%PATH%
  - bash -lc "pacman -S --noconfirm mingw-w64-x86_64-gtk3"
  - refreshenv

build: off

test_script:

  # set path to use Raku, Zef and GTK libraries
  - set PATH=C:\rakudo\install\bin;C:\rakudo\install\share\perl6\site\bin;C:\msys64\mingw64\bin;%PATH%

  - cd %APPVEYOR_BUILD_FOLDER%
  - cmd: zef --/test --deps-only install .
  - cmd: zef --verbose install .


Marcel


El mié, 23 dic 2020 a las 16:35, Richard Hainsworth (<rnhainswo...@gmail.com <mailto:rnhainswo...@gmail.com>>) escribió:

    Hi to everyone.

    Hope you all have a happy holiday time at the end of the year -
    different countries different celebrations, but good will to all.

    Hope 2021 is properous for you all too.

    About continuous testing. I have recently taken on the maintenance of
    GTK::Simple.

    The Travis-CI setup was constructed a while ago and tested both
    OSX and
    Linux, but not Windows.

    It was failing for OSX and for one of the Linux environments.

    So I have changed it to the minimal docker image provided by JJ -
    kudos
    that man!!!

    However, that required a removal of OSX - bad.

    In addition, GTK::Simple is difficult to install on Windows, so I'll
    need help there, but I would like to know how test a module for
    Windows
    anyway.

    For clarity, I last used a Mac in the naughties, and stopped using
    Windows as soon as I could get what I needed from Linux. So
    basically, I
    have minimal recent knowledge of these environments.

    I have two questions:

    a) Could any one provide me with a CI scheme that would cover Linux /
    OSX / Windows?

    Not necessarily on the same server environment.

    There is an issue in GTK::Simple to the effect that it would be
    better
    to use github Actions instead of Travis-CI et al. A comment on this
    theme would help.

    b) Is there a reasonable link to a blog/tutorial on CI ?

    I think that there should be some basic information on CI in the Raku
    documentation on Modules. If anyone answers q1 for me, then I'll
    write
    up the scheme I adopt for the Modules documentation together with
    a link
    to better information.

    When I have asked this question before, I haven't had much response.
    Either I have had answers that assume everyone know about CI, or most
    often I get a response that the answerer just copies/pastes
    configurations from other modules.

    Whilst CI is not a part of Raku, a basic CI scheme that could be
    adopted
    by all Module writers would enhance the robustness of the Raku module
    community.



--
JJ

Reply via email to