App-karr

 view release on metacpan or  search on metacpan

Dockerfile  view on Meta::CPAN


RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential cmake pkg-config \
    libssl-dev zlib1g-dev libssh2-1-dev libffi-dev git \
    && rm -rf /var/lib/apt/lists/*

COPY . /tmp/karr-src

# Install Alien::FFI against the system libffi (libffi-dev above) up front, so it
# links the packaged libffi.so instead of fetching a libffi tarball from a GitHub
# release page — that download is fragile and rate-limited (Alien::Build itself
# warns the release-page negotiator "will typically not work"), and it is what
# broke CI builds intermittently.
RUN ALIEN_INSTALL_TYPE=system cpanm --notest Alien::FFI

# Force Alien::Libgit2 to vendor libgit2 (share build) so the runtime image is
# self-contained — the slim runtime has no system libgit2 to dynamically link.
ENV ALIEN_INSTALL_TYPE=share

RUN cpanm --notest --installdeps /tmp/karr-src \
    && cpanm --notest /tmp/karr-src \

t/198-pick-rules-shared.t  view on Meta::CPAN

  # The re-fork guard. Composing the role does not stop anyone from adding a
  # second sort or a second eligibility test next to it -- that is exactly how
  # this ticket happened -- so read both files and insist the rule is not
  # spelled out in either. POD and comments are stripped: both files talk about
  # the rules at length, and #198's own comments name them.
  my %file = (
    'karr pick'          => 'lib/App/karr/Cmd/Pick.pm',
    'foundation ticket'  => 'lib/App/karr/Foundation/Picker.pm',
  );

  # Each fragment is a piece of the rule that used to be written out locally:
  # the three-way comparison chain of the ranking, the two config lists it
  # ranks from, and the three predicates eligibility is made of.
  my @forbidden = (
    [ qr/<=>/,                 'a comparison of its own' ],
    [ qr/\bpriorities\b/,      'the board priorities list' ],
    [ qr/\bclasses\b/,         'the board classes list' ],
    [ qr/is_terminal_status/,  'the terminal-status test' ],
    [ qr/has_blocked/,         'the blocked test' ],
    [ qr/has_claimed_by/,      'the claim test' ],
    [ qr/_claim_expired/,      'the claim-expiry test' ],



( run in 0.793 second using v1.01-cache-2.11-cpan-b16cb0d3907 )