BuildID: 3471
Status: OK
Image: melezhik/sparrow:debian
Worker status: OK
---
Date: 15.07.2023 @ 13:56
Time elapsed: 200 sec
---
SCM:
https://github.com/melezhik/Pakku.git
Git sha: 4791202
Git comment: multi versions test
image:
- melezhik/sparrow:debian
tasks:
-
name: main
default: true
language: Raku
code: |
use Text::Table::Simple;
my @columns = ("Rakudo Version", "Status", "Time", "Linux Dist");
my @rows;
my $fail = False;
for config()<tasks><multi-versions><state><list><> -> $i {
@rows.push: [ $i<version>, $i<status>, $i<time>, os() ];
$fail = True unless $i<status> eq "OK";
}
my @table = lol2table(@columns,@rows);
.say for @table;
die "some tests failed" if $fail == True;
depends:
-
name: multi-versions
-
name: multi-versions
language: Raku
config:
list:
- 2022.04
- 2022.06
- 2023.06
- 2022.12
code: |
my @state;
for config()<list><> -> $v {
my $s = %( version => $v );
if "{cache_root_dir()}/{$v}_ok".IO ~~ :e {
$s<status> = "OK";
} else {
$s<status> = "FAIL";
}
if "{cache_root_dir()}/{$v}_time".IO ~~ :e {
$s<time> = "{cache_root_dir()}/{$v}_time".IO.slurp();
} else {
$s<time> = "NA";
}
@state.push: $s;
}
update_state %( list => @state );
init: |
for config()<list><> -> $v {
run_task("test", %( version => $v ));
}
subtasks:
-
name: test
language: Bash
init: |
ignore_error
code: |
set -e
rakubrew download moar-$version
rakubrew switch moar-$version
cd source/
raku -I. bin/pakku add .
which pakku
/usr/bin/time -f "%E real,%U user,%S sys" -o "${cache_root_dir}/${version}_time" \
pakku async add rak && touch "${cache_root_dir}/${version}_ok"
depends:
-
name: deps-install
-
name: deps-install
language: Bash
code: |
set -e
curl -sf https://rakubrew.org/perl/rakubrew -o rakubrew
sudo mv rakubrew /usr/local/bin
sudo chmod a+x /usr/local/bin/rakubrew
rakubrew mode shim
zef install --/test Text::Table::Simple
sudo apt-get update -qq > /dev/null
sudo apt-get install -qq -y libarchive13 time > /dev/null
[35m13:54:45[0m :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[1;36m[task run: task.bash - tasks/deps-install][0m
[1;36m[dump code: task.bash][0m
[1] set -e
[2] curl -sf https://rakubrew.org/perl/rakubrew -o rakubrew
[3] sudo mv rakubrew /usr/local/bin
[4] sudo chmod a+x /usr/local/bin/rakubrew
[5] rakubrew mode shim
[6] zef install --/test Text::Table::Simple
[7] sudo apt-get update -qq > /dev/null
[8] sudo apt-get install -qq -y libarchive13 time > /dev/null
[9]
[1;36m[task stdout][0m
[35m13:54:48[0m :: Updating shims
[35m13:54:49[0m :: ===> Searching for: Text::Table::Simple
[35m13:55:00[0m :: ===> Installing: Text::Table::Simple:ver<0.1.0>:auth<github:ugexe>
[1;36m[task stderr][0m
[35m13:55:04[0m :: ===> Updating fez mirror: https://360.zef.pm/
[35m13:55:04[0m :: ===> Updated fez mirror: https://360.zef.pm/
[35m13:55:04[0m :: ===> Updating rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
[35m13:55:04[0m :: ===> Updated rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
[35m13:55:04[0m :: debconf: delaying package configuration, since apt-utils is not installed
[35m13:54:39[0m :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[1;36m[task run: task.bash - tasks/multi-versions][0m
[1;36m[dump code: task.bash][0m
[1] set -e
[2] rakubrew download moar-$version
[3] rakubrew switch moar-$version
[4] cd source/
[5] raku -I. bin/pakku add .
[6] which pakku
[7] /usr/bin/time -f "%E real,%U user,%S sys" -o "${cache_root_dir}/${version}_time" \
[8] pakku async add rak && touch "${cache_root_dir}/${version}_ok"
[9]
[1;36m[task stdout][0m
[35m13:55:07[0m :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.04-01-linux-x86_64-gcc.tar.gz
[35m13:55:09[0m :: Extracting
[35m13:55:10[0m :: Updating shims
[35m13:55:10[0m :: Switching to moar-2022.04
[35m13:55:10[0m :: Done, moar-2022.04 installed
[35m13:55:10[0m :: Switching to moar-2022.04
[35m13:55:35[0m :: [35m🧚 ADD: 「.」[0m
[35m13:56:10[0m :: [33m🐞 REP: 「/opt/rakudo-pkg/share/perl6/site」 can not install![0m
[35m13:56:10[0m :: [33m🐞 REP: 「/home/worker/.raku」 will be used![0m
[35m13:56:10[0m :: [36m🦋 STG: 「Pakku:ver<caria.5>:auth<github:hythm7>:api<0>」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「Pakku:ver<caria.5>:auth<github:hythm7>:api<0>」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「cache.rakutest」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「cmd.rakutest」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「config.rakutest」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「core.rakutest」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「log.rakutest」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「meta.rakutest」[0m
[35m13:56:10[0m :: [36m🦋 TST: 「spec.rakutest」[0m
[35m13:56:10[0m :: [35m🧚 TST: 「Pakku:ver<caria.5>:auth<github:hythm7>:api<0>」[0m
[35m13:56:10[0m :: [35m🧚 BIN: 「pakku」[0m
[35m13:56:10[0m :: [35m🧚 -Ofun[0m
[35m13:56:10[0m :: /home/worker/.raku/bin//pakku
[35m13:56:11[0m :: [35m🧚 ADD: 「rak」[0m
[35m13:56:20[0m :: [36m🦋 MTA: 「rak:ver<0.0.47>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 MTA: 「Git::Files:ver<0.0.6>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 MTA: 「path-utils:ver<0.0.13>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 MTA: 「hyperize:ver<0.0.2>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 MTA: 「paths:ver<10.0.9>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 MTA: 「Trap:ver<0.0.1>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 FTC: 「path-utils:ver<0.0.13>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 FTC: 「Git::Files:ver<0.0.6>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 FTC: 「hyperize:ver<0.0.2>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 FTC: 「paths:ver<10.0.9>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 FTC: 「Trap:ver<0.0.1>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 FTC: 「rak:ver<0.0.47>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [33m🐞 REP: 「/opt/rakudo-pkg/share/perl6/site」 can not install![0m
[35m13:56:20[0m :: [33m🐞 REP: 「/home/worker/.raku」 will be used![0m
[35m13:56:20[0m :: [36m🦋 STG: 「path-utils:ver<0.0.13>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「path-utils:ver<0.0.13>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「01-basic.rakutest」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「02-selective-importing.rakutest」[0m
[35m13:56:20[0m :: [35m🧚 TST: 「path-utils:ver<0.0.13>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 STG: 「Git::Files:ver<0.0.6>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「Git::Files:ver<0.0.6>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「01-basic.rakutest」[0m
[35m13:56:20[0m :: [35m🧚 TST: 「Git::Files:ver<0.0.6>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 STG: 「hyperize:ver<0.0.2>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「hyperize:ver<0.0.2>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「01-basic.rakutest」[0m
[35m13:56:20[0m :: [35m🧚 TST: 「hyperize:ver<0.0.2>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 STG: 「paths:ver<10.0.9>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「paths:ver<10.0.9>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「01-basic.rakutest」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「02-symlinks.rakutest」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「03-selective-importing.rakutest」[0m
[35m13:56:20[0m :: [35m🧚 TST: 「paths:ver<10.0.9>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 STG: 「Trap:ver<0.0.1>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「Trap:ver<0.0.1>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「01-basic.rakutest」[0m
[35m13:56:20[0m :: [35m🧚 TST: 「Trap:ver<0.0.1>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 STG: 「rak:ver<0.0.47>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「rak:ver<0.0.47>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [36m🦋 TST: 「01-basic.rakutest」[0m
[35m13:56:20[0m :: [35m🧚 TST: 「rak:ver<0.0.47>:auth<zef:lizmat>:api<>」[0m
[35m13:56:20[0m :: [35m🧚 -Ofun[0m
[1;36m[task run: task.bash - tasks/multi-versions][0m
[1;36m[dump code: task.bash][0m
[1] set -e
[2] rakubrew download moar-$version
[3] rakubrew switch moar-$version
[4] cd source/
[5] raku -I. bin/pakku add .
[6] which pakku
[7] /usr/bin/time -f "%E real,%U user,%S sys" -o "${cache_root_dir}/${version}_time" \
[8] pakku async add rak && touch "${cache_root_dir}/${version}_ok"
[9]
[1;36m[task stdout][0m
[35m13:56:22[0m :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.06-01-linux-x86_64-gcc.tar.gz
[35m13:56:24[0m :: Extracting
[35m13:56:24[0m :: Updating shims
[35m13:56:24[0m :: Done, moar-2022.06 installed
[35m13:56:25[0m :: Switching to moar-2022.06
[35m13:56:25[0m :: [35m🧚 ADD: 「.」[0m
[35m13:56:25[0m :: [35m🧚 ADD: 「Pakku:ver<caria.5>:auth<github:hythm7>:api<0>」 already installed![0m
[35m13:56:25[0m :: [35m🧚 -Ofun[0m
[35m13:56:25[0m :: /home/worker/.raku/bin//pakku
[35m13:56:26[0m :: [35m🧚 ADD: 「rak」[0m
[35m13:56:26[0m :: [35m🧚 ADD: 「rak」 already installed![0m
[35m13:56:26[0m :: [35m🧚 -Ofun[0m
[1;36m[task run: task.bash - tasks/multi-versions][0m
[1;36m[dump code: task.bash][0m
[1] set -e
[2] rakubrew download moar-$version
[3] rakubrew switch moar-$version
[4] cd source/
[5] raku -I. bin/pakku add .
[6] which pakku
[7] /usr/bin/time -f "%E real,%U user,%S sys" -o "${cache_root_dir}/${version}_time" \
[8] pakku async add rak && touch "${cache_root_dir}/${version}_ok"
[9]
[1;36m[task stdout][0m
[35m13:56:27[0m :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2023.06-01-linux-x86_64-gcc.tar.gz
[35m13:56:30[0m :: Extracting
[35m13:56:31[0m :: Updating shims
[35m13:56:31[0m :: Done, moar-2023.06 installed
[35m13:56:31[0m :: Switching to moar-2023.06
[35m13:56:31[0m :: [35m🧚 ADD: 「.」[0m
[35m13:56:31[0m :: [35m🧚 ADD: 「Pakku:ver<caria.5>:auth<github:hythm7>:api<0>」 already installed![0m
[35m13:56:31[0m :: [35m🧚 -Ofun[0m
[35m13:56:31[0m :: /home/worker/.raku/bin//pakku
[35m13:56:32[0m :: [35m🧚 ADD: 「rak」[0m
[35m13:56:32[0m :: [35m🧚 ADD: 「rak」 already installed![0m
[35m13:56:32[0m :: [35m🧚 -Ofun[0m
[1;36m[task run: task.bash - tasks/multi-versions][0m
[1;36m[dump code: task.bash][0m
[1] set -e
[2] rakubrew download moar-$version
[3] rakubrew switch moar-$version
[4] cd source/
[5] raku -I. bin/pakku add .
[6] which pakku
[7] /usr/bin/time -f "%E real,%U user,%S sys" -o "${cache_root_dir}/${version}_time" \
[8] pakku async add rak && touch "${cache_root_dir}/${version}_ok"
[9]
[1;36m[task stdout][0m
[35m13:56:33[0m :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.12-01-linux-x86_64-gcc.tar.gz
[35m13:56:35[0m :: Extracting
[35m13:56:36[0m :: Updating shims
[35m13:56:36[0m :: Done, moar-2022.12 installed
[35m13:56:36[0m :: Switching to moar-2022.12
[35m13:56:36[0m :: [35m🧚 ADD: 「.」[0m
[35m13:56:36[0m :: [35m🧚 ADD: 「Pakku:ver<caria.5>:auth<github:hythm7>:api<0>」 already installed![0m
[35m13:56:36[0m :: [35m🧚 -Ofun[0m
[35m13:56:36[0m :: /home/worker/.raku/bin//pakku
[35m13:56:37[0m :: [35m🧚 ADD: 「rak」[0m
[35m13:56:37[0m :: [35m🧚 ADD: 「rak」 already installed![0m
[35m13:56:37[0m :: [35m🧚 -Ofun[0m
[1;36m[task run: task.raku - tasks/multi-versions][0m
[1;36m[dump code: task.raku][0m
[1] my @state;
[2] for config()<list><> -> $v {
[3] my $s = %( version => $v );
[4] if "{cache_root_dir()}/{$v}_ok".IO ~~ :e {
[5] $s<status> = "OK";
[6] } else {
[7] $s<status> = "FAIL";
[8] }
[9] if "{cache_root_dir()}/{$v}_time".IO ~~ :e {
[10] $s<time> = "{cache_root_dir()}/{$v}_time".IO.slurp();
[11] } else {
[12] $s<time> = "NA";
[13] }
[14] @state.push: $s;
[15] }
[16] update_state %( list => @state );
[17]
[1;36m[task stdout][0m
[35m13:54:07[0m :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
source directory does not yet exist, download source archive from storage
[35m13:54:10[0m :: [repository] - installing pack-unpack, version 0.000001
[1;36m[task run: task.bash - unpack source archive][0m
[1;36m[dump code: task.bash][0m
[1] set -e
[2]
[3] file=$(config file)
[4] dir=$(config dir)
[5]
[6] echo "tar -xzf $file "
[7]
[8] tar -xzf $file
[9]
[10] if test $dir; then
[11] ls -l $dir
[12] fi
[13]
[14]
[1;36m[task stdout][0m
[35m13:54:12[0m :: tar -xzf source.tar.gz
[1;36m[task run: task.raku - tasks/main][0m
[1;36m[dump code: task.raku][0m
[1] use Text::Table::Simple;
[2] my @columns = ("Rakudo Version", "Status", "Time", "Linux Dist");
[3] my @rows;
[4] my $fail = False;
[5] for config()<tasks><multi-versions><state><list><> -> $i {
[6] @rows.push: [ $i<version>, $i<status>, $i<time>, os() ];
[7] $fail = True unless $i<status> eq "OK";
[8] }
[9] my @table = lol2table(@columns,@rows);
[10] .say for @table;
[11] die "some tests failed" if $fail == True;
[12]
[1;36m[task stdout][0m
[35m13:56:43[0m :: O----------------O--------O----------------------------------O------------O
[35m13:56:43[0m :: | Rakudo Version | Status | Time | Linux Dist |
[35m13:56:43[0m :: O================O========O==================================O============O
[35m13:56:43[0m :: | 2022.04 | OK | 0:10.15 real,16.05 user,1.22 sys | debian |
[35m13:56:43[0m :: | 2022.06 | OK | 0:00.56 real,0.93 user,0.01 sys | debian |
[35m13:56:43[0m :: | 2023.06 | OK | 0:00.35 real,0.51 user,0.04 sys | debian |
[35m13:56:43[0m :: | 2022.12 | OK | 0:00.35 real,0.51 user,0.02 sys | debian |
[35m13:56:43[0m :: ---------------------------------------------------------------------------