App-Workflow-Lint

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

Changes
cpanfile
lib/App/Workflow/Lint.pm
lib/App/Workflow/Lint/Engine.pm
lib/App/Workflow/Lint/Formatter.pm
lib/App/Workflow/Lint/Rule.pm
lib/App/Workflow/Lint/Rule/DeprecatedSetEnv.pm
lib/App/Workflow/Lint/Rule/MissingConcurrency.pm
lib/App/Workflow/Lint/Rule/MissingPermissions.pm
lib/App/Workflow/Lint/Rule/MissingRunsOn.pm
lib/App/Workflow/Lint/Rule/MissingTimeout.pm
lib/App/Workflow/Lint/Rule/UnpinnedActions.pm
lib/App/Workflow/Lint/YAML.pm
LICENSE
Makefile.PL
MANIFEST			This list of files
README.md
t/00-load.t
t/autofix.t
t/basic.t
t/cli.t

lib/App/Workflow/Lint/Engine.pm  view on Meta::CPAN

package App::Workflow::Lint::Engine;

use strict;
use warnings;
use Carp qw(croak carp);

use YAML::XS qw(DumpFile);
use App::Workflow::Lint::YAML;
use App::Workflow::Lint::Rule::MissingPermissions;
use App::Workflow::Lint::Rule::MissingTimeout;
use App::Workflow::Lint::Rule::UnpinnedActions;
use App::Workflow::Lint::Rule::MissingConcurrency;
use App::Workflow::Lint::Rule::DeprecatedSetEnv;
use App::Workflow::Lint::Rule::MissingRunsOn;

=head1 NAME

App::Workflow::Lint::Engine - Workflow loading, rule execution, and fixing

=head1 SYNOPSIS

lib/App/Workflow/Lint/Engine.pm  view on Meta::CPAN

	DumpFile($file, $wf);

	return 1;
}

#----------------------------------------------------------------------

sub rules {
	return (
		App::Workflow::Lint::Rule::MissingPermissions->new,
		App::Workflow::Lint::Rule::MissingTimeout->new,
		App::Workflow::Lint::Rule::UnpinnedActions->new,
		App::Workflow::Lint::Rule::MissingConcurrency->new,
		App::Workflow::Lint::Rule::DeprecatedSetEnv->new,
		App::Workflow::Lint::Rule::MissingRunsOn->new,
	);
}

#----------------------------------------------------------------------

sub check_file {

lib/App/Workflow/Lint/Rule/MissingTimeout.pm  view on Meta::CPAN

package App::Workflow::Lint::Rule::MissingTimeout;

use strict;
use warnings;
use Carp qw(croak carp);

# Inherit the DSL from the base rule class
use parent 'App::Workflow::Lint::Rule';

#----------------------------------------------------------------------
# Metadata

t/autofix.t  view on Meta::CPAN

use strict;
use warnings;
use Test::Most;

use_ok('App::Workflow::Lint::Rule::MissingTimeout');

my $rule = new_ok('App::Workflow::Lint::Rule::MissingTimeout');

my $wf = { jobs => { build => {} } };

my @out = $rule->check($wf, { file => 'test.yml' });

is scalar(@out), 1, 'one diagnostic returned';
like $out[0]{message}, qr/missing timeout/, 'message looks right';

done_testing;

t/dsl.t  view on Meta::CPAN

use strict;
use warnings;
use Test::Most;

use_ok('App::Workflow::Lint::Rule::MissingTimeout');

new_ok('App::Workflow::Lint::Rule::MissingTimeout');

my $rule = App::Workflow::Lint::Rule::MissingTimeout->new;

my $wf = { jobs => { build => {} } };

my @out = $rule->check($wf, { file => 'test.yml' });

is scalar(@out), 1, 'one diagnostic returned';
like $out[0]{message}, qr/missing timeout/, 'message looks right';

done_testing;



( run in 2.415 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )