App-karr
view release on metacpan or search on metacpan
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 )