Home Quick start All builds News Donations
More
Log In
Light Theme Docs
Workers

SparrowCI Report - gh-melezhik-elliptic-curves-raku | [image: melezhik/sparrow:debian]

  • Summary
  • Pipeline YAML
  • Report
BuildID: 2348
Status: -10
Image: melezhik/sparrow:debian
Worker status: OK
---
Date: 28.12.2022 @ 01:02
Time elapsed: 380 sec
---
SCM: https://github.com/melezhik/elliptic-curves-raku.git
Git sha: 85457d8
Git comment: pass rakudobrew path
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
    followup:
      -
        name: good-doc
  -
    name: good-doc
    plugin: good-doc
    config:
      path: source/README.md
      rakudo_path: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.12-01-linux-x86_64-gcc
  -
    name: multi-versions
    language: Raku
    config:
      list:
        # - 2022.04
        - 2022.07
        - 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
          echo "Linux version: $os"
          curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
          -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
          tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz          
          eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
          which raku
          which zef
          raku --version
          zef --version
          
          cd source/
          zef install . --deps-only --test-depends --build-depends --/test -to=home         
          /usr/bin/time -f "%E real,%U user,%S sys | CPU Percentage: %P" -o "${cache_root_dir}/${version}_time" \
          zef test --debug . && touch "${cache_root_dir}/${version}_ok"
          
    depends:
      -
        name: install-deps
  -
    name: install-deps
    language: Bash
    code: |
      sudo apt-get install -y time 
      zef install --/test Text::Table::Simple
01:01:38 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
01:01:42 :: [repository] - installing good-doc, version 0.000013
[task run: task.bash - good-doc]
[dump code: task.bash]
[1] set -e
[2] 
[3] cd $dir
[4] 
[5] cat $file
[6] 
[7] rakudo_path=$(config rakudo_path)
[8] 
[9] if ! test -z $rakudo_path; then
[10]   echo "Using rakudo from $rakudo_path:"
[11]   eval "$($rakudo_path/scripts/set-env.sh)"
[12]   raku --version
[13] fi
[14] 
[15] echo "run raku -I lib $file ..."
[16] 
[17] raku -I lib $file || echo "warn: good_doc failed"
[18] 
[task stdout]
01:01:44 :: 
01:01:44 :: {
01:01:44 ::     use secp256k1;
01:01:44 :: 
01:01:44 ::     say key-range;
01:01:44 ::     say $_*G for 1..10;
01:01:44 :: 
01:01:44 ::     use Test;
01:01:44 ::     is 35*G + 5*G, 40*G;
01:01:44 :: }
01:01:44 :: 
01:01:44 :: {
01:01:44 ::     use ed25519;
01:01:44 :: 
01:01:44 ::     # create a key
01:01:44 ::     # - randomly :
01:01:44 ::     my ed25519::Key $key .= new;
01:01:44 ::     # - from a seed :
01:01:44 ::     my blob8 $secret-seed .= new: ^256 .roll: 32;
01:01:44 ::     my ed25519::Key $key .= new: $secret-seed;
01:01:44 :: 
01:01:44 ::     # use key to sign a message
01:01:44 ::     my $signature = $key.sign: "Hello world!";
01:01:44 :: 
01:01:44 ::     # verify signature
01:01:44 ::     use Test;
01:01:44 ::     lives-ok { ed25519::verify "foo", $key.sign("foo"), $key.point };
01:01:44 ::     dies-ok  { ed25519::verify "foo", $key.sign("bar"), $key.point };
01:01:44 :: }
01:01:45 :: Using rakudo from /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.12-01-linux-x86_64-gcc:
01:01:45 ::                            Adding Rakudo to PATH
01:01:45 ::                           =======================
01:01:45 :: 
01:01:45 :: Paths successfully added.
01:01:45 :: 
01:01:45 :: ================================================================================
01:01:45 ::  =========                                                             __   __
01:01:45 ::   ||_|_||                =============================                (  \,/  )
01:01:45 ::   || # ||                 Welcome to the Raku Console                  \_ O _/
01:01:45 ::   || # ||                =============================                 (_/ \_)
01:01:45 :: 
01:01:45 :: This console has all the tools available you need to get started using Raku.
01:01:45 :: 
01:01:45 :: Rakudo provides an interactive command line interpreter (a so called Read Eval
01:01:45 :: Print Loop, REPL for short) you can use to quickly try out pieces of Raku code.
01:01:45 :: Start it by typing:
01:01:45 :: 
01:01:45 ::     raku
01:01:45 :: 
01:01:45 :: If you already have a Raku program in a file, you can run it by typing:
01:01:45 :: 
01:01:45 ::     raku path/to/my/program.raku
01:01:45 :: 
01:01:45 :: To install additional modules you can use the Zef module manager:
01:01:45 :: 
01:01:45 ::     zef install Some::Module
01:01:45 :: 
01:01:45 :: https://rakudo.org/           - The home of this implementation of Raku.
01:01:45 :: https://raku.land/            - Go here to browse for Raku modules.
01:01:45 :: https://docs.raku.org/        - The Raku documentation.
01:01:45 :: https://web.libera.chat/#raku - The Raku user chat. Talk to us!
01:01:45 :: 
01:01:45 ::                               Happy hacking!
01:01:46 :: 
01:01:46 :: ================================================================================
01:01:46 :: 
01:01:46 :: Welcome to Rakudo™ v2022.12.
01:01:46 :: Implementing the Raku® Programming Language v6.d.
01:01:46 :: Built on MoarVM version 2022.12.
01:01:46 :: run raku -I lib /home/worker/.sparrow6/tmp/60713/code.raku ...
01:02:07 :: warn: good_doc failed
[task stderr]
01:02:07 :: ===SORRY!===
01:02:07 :: Undeclared routine:
01:02:07 ::     key-range used at line 5
01:02:07 :: 
01:02:07 :: Other potential difficulties:
01:02:07 ::     Redeclaration of symbol '$key'.
01:02:07 ::     at /home/worker/.sparrow6/tmp/60713/code.raku:20
01:02:07 ::     ------>     my ed25519::Key $key⏏ .= new: $secret-seed;
01:02:07 :: 
00:56:50 :: [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
00:56:53 :: [repository] - installing pack-unpack, version 0.000001
[task run: task.bash - unpack source archive]
[dump code: task.bash]
[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] 
[task stdout]
00:56:56 :: tar -xzf source.tar.gz 
[task run: task.raku - tasks/main]
[dump code: task.raku]
[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] 
[task stdout]
01:01:13 :: O----------------O--------O---------------------------------------------------------O------------O
01:01:13 :: | Rakudo Version | Status | Time                                                    | Linux Dist |
01:01:13 :: O================O========O=========================================================O============O
01:01:13 :: | 2022.07        | OK     | 0:41.36 real,48.55 user,2.09 sys | CPU Percentage: 122% | debian     |
01:01:13 :: | 2022.12        | OK     | 0:50.05 real,60.66 user,2.65 sys | CPU Percentage: 126% | debian     |
01:01:13 :: --------------------------------------------------------------------------------------------------
00:57:29 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2] echo "Linux version: $os"
[3] curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
[4] -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[5] tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz          
[6] eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
[7] which raku
[8] which zef
[9] raku --version
[10] zef --version
[11] 
[12] cd source/
[13] zef install . --deps-only --test-depends --build-depends --/test -to=home         
[14] /usr/bin/time -f "%E real,%U user,%S sys | CPU Percentage: %P" -o "${cache_root_dir}/${version}_time" \
[15] zef test --debug . && touch "${cache_root_dir}/${version}_ok"
[16] 
[task stdout]
00:58:16 :: Linux version: debian
00:58:17 ::                            Adding Rakudo to PATH
00:58:17 ::                           =======================
00:58:17 :: 
00:58:17 :: Paths successfully added.
00:58:17 :: 
00:58:17 :: ================================================================================
00:58:17 ::  =========                                                             __   __
00:58:17 ::   ||_|_||                =============================                (  \,/  )
00:58:17 ::   || # ||                 Welcome to the Raku Console                  \_ O _/
00:58:17 ::   || # ||                =============================                 (_/ \_)
00:58:17 :: 
00:58:17 :: This console has all the tools available you need to get started using Raku.
00:58:17 :: 
00:58:17 :: Rakudo provides an interactive command line interpreter (a so called Read Eval
00:58:17 :: Print Loop, REPL for short) you can use to quickly try out pieces of Raku code.
00:58:17 :: Start it by typing:
00:58:17 :: 
00:58:17 ::     raku
00:58:17 :: 
00:58:17 :: If you already have a Raku program in a file, you can run it by typing:
00:58:17 :: 
00:58:17 ::     raku path/to/my/program.raku
00:58:17 :: 
00:58:17 :: To install additional modules you can use the Zef module manager:
00:58:17 :: 
00:58:17 ::     zef install Some::Module
00:58:17 :: 
00:58:17 :: https://rakudo.org/           - The home of this implementation of Raku.
00:58:17 :: https://raku.land/            - Go here to browse for Raku modules.
00:58:17 :: https://docs.raku.org/        - The Raku documentation.
00:58:17 :: https://web.libera.chat/#raku - The Raku user chat. Talk to us!
00:58:17 :: 
00:58:17 ::                               Happy hacking!
00:58:17 :: 
00:58:17 :: ================================================================================
00:58:17 :: 
00:58:17 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.07-01-linux-x86_64-gcc/bin/raku
00:58:17 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.07-01-linux-x86_64-gcc/share/perl6/site/bin/zef
00:58:17 :: Welcome to Rakudo™ v2022.07.
00:58:17 :: Implementing the Raku® Programming Language v6.d.
00:58:17 :: Built on MoarVM version 2022.07.
00:58:42 :: v0.14.5
00:59:01 :: ===> Searching for missing dependencies: Digest, FiniteFields
00:59:29 :: ===> Installing: Digest:ver<0.27.6>
00:59:29 :: ===> Installing: FiniteFields:ver<0.3.0>:auth<zef:grondilu>
00:59:31 :: ===> Testing: EC:ver<0.6.4>:auth<zef:grondilu>
01:00:10 :: [EC] Testing with plugin: Zef::Service::Shell::prove+{<anon|1>}
01:00:10 :: [EC] t/basic.t ...... 
01:00:10 :: [EC] ok 1 - basic construction
01:00:10 :: [EC] ok 2 - idempotence
01:00:10 :: [EC] ok 3 - public and private keys match
01:00:10 :: [EC] ok 4 - signature could be reproduced
01:00:10 :: [EC] ok 5 - good signature
01:00:10 :: [EC] ok 6 - public and private keys match
01:00:10 :: [EC] ok 7 - signature could be reproduced
01:00:10 :: [EC] ok 8 - good signature
01:00:10 :: [EC] ok 9 - public and private keys match
01:00:10 :: [EC] ok 10 - signature could be reproduced
01:00:10 :: [EC] ok 11 - good signature
01:00:10 :: [EC] ok 12 - public and private keys match
01:00:10 :: [EC] ok 13 - signature could be reproduced
01:00:10 :: [EC] ok 14 - good signature
01:00:10 :: [EC] 1..14
01:00:10 :: [EC] ok
01:00:10 :: [EC] t/secp256k1.t .. 
01:00:10 :: [EC] ok 1 - 
01:00:10 :: [EC] ok 2 - 
01:00:10 :: [EC] ok 3 - 
01:00:10 :: [EC] ok 4 - 
01:00:10 :: [EC] ok 5 - 
01:00:10 :: [EC] ok 6 - 
01:00:10 :: [EC] ok 7 - 
01:00:10 :: [EC] ok 8 - 
01:00:10 :: [EC] ok 9 - 
01:00:10 :: [EC] ok 10 - 
01:00:10 :: [EC] ok 11 - 
01:00:10 :: [EC] ok 12 - 
01:00:10 :: [EC] ok 13 - 
01:00:10 :: [EC] ok 14 - 
01:00:10 :: [EC] ok 15 - 
01:00:10 :: [EC] ok 16 - 
01:00:10 :: [EC] ok 17 - 
01:00:10 :: [EC] ok 18 - 
01:00:10 :: [EC] ok 19 - 
01:00:10 :: [EC] ok 20 - 
01:00:10 :: [EC] ok 21 - 
01:00:10 :: [EC] ok 22 - 
01:00:10 :: [EC] ok 23 - 
01:00:10 :: [EC] ok 24 - 
01:00:10 :: [EC] ok 25 - 
01:00:10 :: [EC] ok 26 - 
01:00:10 :: [EC] ok 27 - 
01:00:10 :: [EC] ok 28 - 
01:00:10 :: [EC] ok 29 - 
01:00:10 :: [EC] ok 30 - 
01:00:10 :: [EC] ok 31 - 
01:00:10 :: [EC] ok 32 - 
01:00:10 :: [EC] ok 33 - 
01:00:10 :: [EC] ok 34 - 
01:00:10 :: [EC] ok 35 - 
01:00:10 :: [EC] ok 36 - 
01:00:10 :: [EC] ok 37 - 
01:00:10 :: [EC] ok 38 - 
01:00:10 :: [EC] ok 39 - 
01:00:10 :: [EC] ok 40 - 
01:00:10 :: [EC] ok 41 - 
01:00:10 :: [EC] ok 42 - 
01:00:10 :: [EC] ok 43 - 
01:00:10 :: [EC] ok 44 - 
01:00:10 :: [EC] ok 45 - 
01:00:10 :: [EC] 1..45
01:00:10 :: [EC] ok
01:00:10 :: [EC] t/speccheck.t .. 
01:00:10 :: [EC] 1..12
01:00:10 :: [EC] ok 1 - ...22b6
01:00:10 :: [EC] ok 2 - ...2e79
01:00:10 :: [EC] ok 3 - ...b9ab
01:00:10 :: [EC] ok 4 - ...2e79
01:00:10 :: [EC] ok 5 - ...f56c
01:00:10 :: [EC] ok 6 - ...f56c
01:00:10 :: [EC] ok 7 - # SKIP problematic case
01:00:10 :: [EC] ok 8 - # SKIP problematic case
01:00:10 :: [EC] ok 9 - ...8b41
01:00:10 :: [EC] ok 10 - # SKIP problematic case
01:00:10 :: [EC] ok 11 - ...155b
01:00:10 :: [EC] ok 12 - ...c06f
01:00:10 :: [EC] ok
01:00:10 :: [EC] t/synopsis.t ... 
01:00:10 :: [EC] 1..4
01:00:10 :: [EC] ok 1 - key creation
01:00:10 :: [EC] ok 2 - signing
01:00:10 :: [EC] ok 3 - signature verification, true match
01:00:10 :: [EC] ok 4 - signature verification, true mismatch
01:00:10 :: [EC] ok
01:00:10 :: [EC] All tests successful.
01:00:10 :: [EC] Files=4, Tests=75, 39 wallclock secs ( 0.05 usr  0.01 sys + 45.53 cusr  1.62 csys = 47.21 CPU)
01:00:10 :: [EC] Result: PASS
01:00:10 :: ===> Testing [OK] for EC:ver<0.6.4>:auth<zef:grondilu>
[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2] echo "Linux version: $os"
[3] curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
[4] -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[5] tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz          
[6] eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
[7] which raku
[8] which zef
[9] raku --version
[10] zef --version
[11] 
[12] cd source/
[13] zef install . --deps-only --test-depends --build-depends --/test -to=home         
[14] /usr/bin/time -f "%E real,%U user,%S sys | CPU Percentage: %P" -o "${cache_root_dir}/${version}_time" \
[15] zef test --debug . && touch "${cache_root_dir}/${version}_ok"
[16] 
[task stdout]
01:00:10 :: Linux version: debian
01:00:11 ::                            Adding Rakudo to PATH
01:00:11 ::                           =======================
01:00:11 :: 
01:00:11 :: Paths successfully added.
01:00:11 :: 
01:00:12 :: ================================================================================
01:00:12 ::  =========                                                             __   __
01:00:12 ::   ||_|_||                =============================                (  \,/  )
01:00:12 ::   || # ||                 Welcome to the Raku Console                  \_ O _/
01:00:12 ::   || # ||                =============================                 (_/ \_)
01:00:12 :: 
01:00:12 :: This console has all the tools available you need to get started using Raku.
01:00:12 :: 
01:00:12 :: Rakudo provides an interactive command line interpreter (a so called Read Eval
01:00:12 :: Print Loop, REPL for short) you can use to quickly try out pieces of Raku code.
01:00:12 :: Start it by typing:
01:00:12 :: 
01:00:12 ::     raku
01:00:12 :: 
01:00:12 :: If you already have a Raku program in a file, you can run it by typing:
01:00:12 :: 
01:00:12 ::     raku path/to/my/program.raku
01:00:12 :: 
01:00:12 :: To install additional modules you can use the Zef module manager:
01:00:12 :: 
01:00:12 ::     zef install Some::Module
01:00:12 :: 
01:00:12 :: https://rakudo.org/           - The home of this implementation of Raku.
01:00:12 :: https://raku.land/            - Go here to browse for Raku modules.
01:00:12 :: https://docs.raku.org/        - The Raku documentation.
01:00:12 :: https://web.libera.chat/#raku - The Raku user chat. Talk to us!
01:00:12 :: 
01:00:12 ::                               Happy hacking!
01:00:12 :: 
01:00:12 :: ================================================================================
01:00:12 :: 
01:00:12 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.12-01-linux-x86_64-gcc/bin/raku
01:00:12 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.12-01-linux-x86_64-gcc/share/perl6/site/bin/zef
01:00:12 :: Welcome to Rakudo™ v2022.12.
01:00:12 :: Implementing the Raku® Programming Language v6.d.
01:00:12 :: Built on MoarVM version 2022.12.
01:00:13 :: v0.14.5
01:00:19 :: ===> Testing: EC:ver<0.6.4>:auth<zef:grondilu>
01:01:07 :: [EC] Testing with plugin: Zef::Service::Shell::prove+{<anon|1>}
01:01:07 :: [EC] t/basic.t ...... 
01:01:07 :: [EC] ok 1 - basic construction
01:01:07 :: [EC] ok 2 - idempotence
01:01:07 :: [EC] ok 3 - public and private keys match
01:01:07 :: [EC] ok 4 - signature could be reproduced
01:01:07 :: [EC] ok 5 - good signature
01:01:07 :: [EC] ok 6 - public and private keys match
01:01:07 :: [EC] ok 7 - signature could be reproduced
01:01:07 :: [EC] ok 8 - good signature
01:01:07 :: [EC] ok 9 - public and private keys match
01:01:07 :: [EC] ok 10 - signature could be reproduced
01:01:07 :: [EC] ok 11 - good signature
01:01:07 :: [EC] ok 12 - public and private keys match
01:01:07 :: [EC] ok 13 - signature could be reproduced
01:01:07 :: [EC] ok 14 - good signature
01:01:07 :: [EC] 1..14
01:01:07 :: [EC] ok
01:01:07 :: [EC] t/secp256k1.t .. 
01:01:07 :: [EC] ok 1 - 
01:01:07 :: [EC] ok 2 - 
01:01:07 :: [EC] ok 3 - 
01:01:07 :: [EC] ok 4 - 
01:01:07 :: [EC] ok 5 - 
01:01:07 :: [EC] ok 6 - 
01:01:07 :: [EC] ok 7 - 
01:01:07 :: [EC] ok 8 - 
01:01:07 :: [EC] ok 9 - 
01:01:07 :: [EC] ok 10 - 
01:01:07 :: [EC] ok 11 - 
01:01:07 :: [EC] ok 12 - 
01:01:07 :: [EC] ok 13 - 
01:01:07 :: [EC] ok 14 - 
01:01:07 :: [EC] ok 15 - 
01:01:07 :: [EC] ok 16 - 
01:01:07 :: [EC] ok 17 - 
01:01:07 :: [EC] ok 18 - 
01:01:07 :: [EC] ok 19 - 
01:01:07 :: [EC] ok 20 - 
01:01:07 :: [EC] ok 21 - 
01:01:07 :: [EC] ok 22 - 
01:01:07 :: [EC] ok 23 - 
01:01:07 :: [EC] ok 24 - 
01:01:07 :: [EC] ok 25 - 
01:01:07 :: [EC] ok 26 - 
01:01:07 :: [EC] ok 27 - 
01:01:07 :: [EC] ok 28 - 
01:01:07 :: [EC] ok 29 - 
01:01:07 :: [EC] ok 30 - 
01:01:07 :: [EC] ok 31 - 
01:01:07 :: [EC] ok 32 - 
01:01:07 :: [EC] ok 33 - 
01:01:07 :: [EC] ok 34 - 
01:01:07 :: [EC] ok 35 - 
01:01:07 :: [EC] ok 36 - 
01:01:07 :: [EC] ok 37 - 
01:01:07 :: [EC] ok 38 - 
01:01:07 :: [EC] ok 39 - 
01:01:07 :: [EC] ok 40 - 
01:01:07 :: [EC] ok 41 - 
01:01:07 :: [EC] ok 42 - 
01:01:07 :: [EC] ok 43 - 
01:01:07 :: [EC] ok 44 - 
01:01:07 :: [EC] ok 45 - 
01:01:07 :: [EC] 1..45
01:01:07 :: [EC] ok
01:01:07 :: [EC] t/speccheck.t .. 
01:01:07 :: [EC] 1..12
01:01:07 :: [EC] ok 1 - ...22b6
01:01:07 :: [EC] ok 2 - ...2e79
01:01:07 :: [EC] ok 3 - ...b9ab
01:01:07 :: [EC] ok 4 - ...2e79
01:01:07 :: [EC] ok 5 - ...f56c
01:01:07 :: [EC] ok 6 - ...f56c
01:01:07 :: [EC] ok 7 - # SKIP problematic case
01:01:07 :: [EC] ok 8 - # SKIP problematic case
01:01:07 :: [EC] ok 9 - ...8b41
01:01:07 :: [EC] ok 10 - # SKIP problematic case
01:01:07 :: [EC] ok 11 - ...155b
01:01:07 :: [EC] ok 12 - ...c06f
01:01:07 :: [EC] ok
01:01:07 :: [EC] t/synopsis.t ... 
01:01:07 :: [EC] 1..4
01:01:07 :: [EC] ok 1 - key creation
01:01:07 :: [EC] ok 2 - signing
01:01:07 :: [EC] ok 3 - signature verification, true match
01:01:07 :: [EC] ok 4 - signature verification, true mismatch
01:01:07 :: [EC] ok
01:01:07 :: [EC] All tests successful.
01:01:07 :: [EC] Files=4, Tests=75, 48 wallclock secs ( 0.06 usr  0.01 sys + 57.99 cusr  2.25 csys = 60.31 CPU)
01:01:07 :: [EC] Result: PASS
01:01:07 :: ===> Testing [OK] for EC:ver<0.6.4>:auth<zef:grondilu>
[task stderr]
01:01:07 :: All candidates are currently installed
[task run: task.raku - tasks/multi-versions]
[dump code: task.raku]
[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] 
[task stdout]
00:57:49 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[task run: task.bash - tasks/install-deps]
[dump code: task.bash]
[1] sudo apt-get install -y time 
[2] zef install --/test Text::Table::Simple
[3] 
[task stdout]
00:57:53 :: Reading package lists...
00:57:53 :: Building dependency tree...
00:57:53 :: Reading state information...
00:57:54 :: The following NEW packages will be installed:
00:57:54 ::   time
00:57:54 :: 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
00:57:54 :: Need to get 50.8 kB of archives.
00:57:54 :: After this operation, 132 kB of additional disk space will be used.
00:57:54 :: Get:1 http://deb.debian.org/debian bullseye/main amd64 time amd64 1.9-0.1 [50.8 kB]
00:57:54 :: Fetched 50.8 kB in 0s (1344 kB/s)
00:57:54 :: Selecting previously unselected package time.
00:57:54 :: (Reading database ... 
00:57:54 :: (Reading database ... 5%
00:57:54 :: (Reading database ... 10%
00:57:54 :: (Reading database ... 15%
00:57:54 :: (Reading database ... 20%
00:57:54 :: (Reading database ... 25%
00:57:54 :: (Reading database ... 30%
00:57:54 :: (Reading database ... 35%
00:57:54 :: (Reading database ... 40%
00:57:54 :: (Reading database ... 45%
00:57:54 :: (Reading database ... 50%
00:57:54 :: (Reading database ... 55%
00:57:54 :: (Reading database ... 60%
00:57:54 :: (Reading database ... 65%
00:57:54 :: (Reading database ... 70%
00:57:54 :: (Reading database ... 75%
00:57:54 :: (Reading database ... 80%
00:57:54 :: (Reading database ... 85%
00:57:54 :: (Reading database ... 90%
00:57:54 :: (Reading database ... 95%
00:57:54 :: (Reading database ... 100%
00:57:54 :: (Reading database ... 19016 files and directories currently installed.)
00:57:54 :: Preparing to unpack .../time_1.9-0.1_amd64.deb ...
00:57:54 :: Unpacking time (1.9-0.1) ...
00:57:54 :: Setting up time (1.9-0.1) ...
00:57:56 :: ===> Searching for: Text::Table::Simple
00:58:09 :: ===> Installing: Text::Table::Simple:ver<0.1.0>:auth<github:ugexe>
[task stderr]
00:58:09 :: debconf: delaying package configuration, since apt-utils is not installed
00:58:09 :: ===> Updating fez mirror: https://360.zef.pm/
00:58:09 :: ===> Updated fez mirror: https://360.zef.pm/
00:58:09 :: ===> Updating rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
00:58:09 :: ===> Updated rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json