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