Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'master' of git://github.com/mpeters/smolder

Conflicts:
	Changes
	lib/Smolder/Conf.pm
  • Loading branch information...
commit 3b96f497ae2f0ef2a984291d4cdf09d4edafc53a 2 parents c007864 + 9a35c77
@aschrab aschrab authored
View
30 Build.PL
@@ -76,11 +76,6 @@ my $builder = Smolder::Build->new(
add_to_cleanup => ['data/*', 'logs/*', 'Smolder-*'],
meta_add => {
no_index => {
- directory => [qw(
- Smolder/Control
- Smolder/DB
- Smolder/Upgrade
- )],
file => [qw(
Smolder/AuthHandler.pm
Smolder/AuthInfo.pm
@@ -88,6 +83,23 @@ my $builder = Smolder::Build->new(
Smolder/Conf.pm
Smolder/Constraints.pm
Smolder/Control.pm
+ Smolder/Control/Admin.pm
+ Smolder/Control/Developer.pm
+ Smolder/Control/Graphs.pm
+ Smolder/Control/Projects.pm
+ Smolder/Control/Public.pm
+ Smolder/Control/Admin/Developers.pm
+ Smolder/Control/Admin/Projects.pm
+ Smolder/Control/Developer/Prefs.pm
+ Smolder/Control/Public/Auth.pm
+ Smolder/DB/Developer.pm
+ Smolder/DB/Preference.pm
+ Smolder/DB/ProjectDeveloper.pm
+ Smolder/DB/Project.pm
+ Smolder/DB/SmokeReport.pm
+ Smolder/DB/TestFileComment.pm
+ Smolder/DB/TestFile.pm
+ Smolder/DB/TestFileResult.pm
Smolder/DB.pm
Smolder/Dispatch.pm
Smolder/Email.pm
@@ -99,6 +111,14 @@ my $builder = Smolder::Build->new(
Smolder/TestScript.pm
Smolder/Upgrade.pm
Smolder/Util.pm
+ Smolder/Upgrade/V0_1.pm
+ Smolder/Upgrade/V0_3.pm
+ Smolder/Upgrade/V1_1.pm
+ Smolder/Upgrade/V1_21.pm
+ Smolder/Upgrade/V1_24.pm
+ Smolder/Upgrade/V1_30.pm
+ Smolder/Upgrade/V1_37.pm
+ Smolder/Upgrade/V1_50.pm
)],
},
},
View
7 Changes
@@ -1,8 +1,8 @@
Revision history for Smolder
-1.41
- + Adding bin/smolderctl - J. Swartz
- + Adding configuration directives TruncateTestFilenames, ReportsPerPage, AutoRefreshReports - J. Swartz
+1.50
+ + Added bin/smolderctl - J. Swartz
+ + Added configuration directives TruncateTestFilenames, ReportsPerPage, AutoRefreshReports - J. Swartz
+ smolder now exits if any options are invalid, instead of continuing on. - A. Lester
+ Documentation improvements - M. Stosberg
+ Now storing results per-stream - J. Swartz
@@ -14,6 +14,7 @@ Revision history for Smolder
+ Fixed RT #49997 by making sure we don't send duplicate emails if multiple accounts use the same address - M. Peters
+ Compile templates at startup time. - A. Schrab
+ Don't write a PidFile by default. The previous default location is likely to not be writeable. - A. Schrab
+ + Added LogLevel configuration directive - M. Peters
1.40
+ Tests that died prematurely didn't mark the whole suite as failed - M. Peters
View
6 MANIFEST
@@ -4,6 +4,7 @@ bin/smolder_smoke_signal
bin/smolderctl
Build.PL
Changes
+data/smolder.pid
hackathon_todo.txt
htdocs/images/arrow-desc.gif
htdocs/images/boxed-bg-bottom.png
@@ -87,7 +88,7 @@ lib/Smolder/Upgrade/V1_21.pm
lib/Smolder/Upgrade/V1_24.pm
lib/Smolder/Upgrade/V1_30.pm
lib/Smolder/Upgrade/V1_37.pm
-lib/Smolder/Upgrade/V1_41.pm
+lib/Smolder/Upgrade/V1_50.pm
lib/Smolder/Util.pm
LICENSE
MANIFEST This list of files
@@ -107,7 +108,7 @@ sql/upgrade/V1_1.sql
sql/upgrade/V1_21.sql
sql/upgrade/V1_24.sql
sql/upgrade/V1_37.sql
-sql/upgrade/V1_41.sql
+sql/upgrade/V1_50.sql
t/admin.t
t/admin_devs.t
t/admin_projs.t
@@ -166,6 +167,7 @@ templates/Projects/admin_settings.tmpl
templates/Projects/admin_settings_form.tmpl
templates/Projects/admin_settings_tags.tmpl
templates/Projects/details.tmpl
+templates/Projects/public.tmpl
templates/Projects/show_all.tmpl
templates/Projects/smoke_report.tmpl
templates/Projects/smoke_report_details.tmpl
View
4 hackathon_todo.txt
@@ -1,11 +1,7 @@
Easy
========
-1) Add screenshots to POD (Smolder.pm)
2) Move inline CSS to style sheets
4) Add good documentation for configuration
-5) Change Build.PL so that only Smolder, Smolder::Manual, smolder, smolderctl and smolder_smoke_signal
- are viewable in search.cpan.org
-16) Add "LogLevel" smolder.conf directive
Medium
========
View
60 lib/Smolder.pm
@@ -1,6 +1,6 @@
package Smolder;
-our $VERSION = '1.41';
+our $VERSION = '1.50';
1;
@@ -8,21 +8,63 @@ __END__
=head1 NAME
-Smolder - Web-based Continuous Integration Smoke Server
+Smolder - continuous integration smoke server
-=head1 SYNOPSIS
+=head1 DESCRIPTION
-Start your smolder server:
+Smolder is a web-based continuous integration smoke server. It's a central
+repository for you smoke tests for multiple public and private repositories.
- ]$ smolder
+Please see L<Smolder::Manual> for how to use it.
-=head1 DESCRIPTION
+=begin html
-If you have a better idea for what Smolder is and how I can describe it, I'm all ears :)
+<img src="http://i.imgur.com/Hb2cD.png" width="600">
-Please see L<Smolder::Manual> for how to use it.
+=end html
+
+=head1 FEATURES
+
+=over
+
+=item * Self contained web application
+
+Smolder has it's own built-in HTTP server (Net::Server) and database (SQLite).
+
+=item * Standard Format
+
+Smolder uses L<TAP|http://en.wikipedia.org/wiki/Test_Anything_Protocol> and TAP Archives
+as it's reporting format. See L<Smolder::Manual> for more details.
+
+=item * Multiple Notification Channels
+
+Smolder can notifiy you of new or failing tests either by email or Atom data feeds.
+
+=item * Public and Private Projects
+
+Use Smolder for your public open source projects, or for you private work related
+projects. Smolder can host multiple projects of each type.
+
+=item * Project Graphs
+
+Smolder has graphs to help you visualize the changes to your test suite over time.
+See how the number of tests has grown or find patterns in your failing tests.
+
+=item * Smoke Report Organization
+
+You can organize your smoke reports by platform, architecture or any tag you want.
+This makes it easy to see how your project is doing on multiple platforms, or with
+different configurations.
+
+=back
+
+=begin html
+
+<img src="http://i.imgur.com/ASTGB.png" width="600">
+
+=end html
-=head2 SUPPORT
+=head1 SUPPORT
=over
View
7 lib/Smolder/Conf.pm
@@ -34,6 +34,7 @@ BEGIN {
FromAddress => "smolder\@$default_hostname",
SMTPHost => $default_hostname,
LogFile => '',
+ LogLevel => 'warning',
PidFile => undef,
TemplateDir => catdir($share_dir, 'templates'),
DataDir => catdir(File::HomeDir->my_data, '.smolder'),
@@ -115,6 +116,12 @@ Log file to write to.
Default: none
+=head2 LogLevel
+
+The level at which things will start to be logged. Only used if LogFile is set.
+
+Default: warning
+
=head2 PidFile
File in which to write the PID of the Smolder process.
View
4 lib/Smolder/Control.pm
@@ -13,7 +13,7 @@ use CGI::Cookie;
# BEGIN { $ENV{CGI_APP_DEBUG} = 1 ; } use CGI::Application::Plugin::DebugScreen;
use Smolder;
use Smolder::Util;
-use Smolder::Conf qw(ErrorsToScreen HostName LogFile TemplateDir);
+use Smolder::Conf qw(ErrorsToScreen HostName LogFile LogLevel TemplateDir);
use Smolder::DB::Developer;
use Smolder::DB::Project;
use File::Spec::Functions qw(catdir catfile tmpdir);
@@ -50,7 +50,7 @@ __PACKAGE__->add_callback(
module => 'Log::Dispatch::File',
name => 'smolder_log',
mode => 'append',
- min_level => 'debug',
+ min_level => LogLevel,
filename => LogFile,
}
],
View
2  lib/Smolder/Control/Graphs.pm
@@ -159,7 +159,7 @@ sub image {
if (scalar @$data == 0) {
my $NO_DATA_FH;
my $file = catfile(Smolder::Conf->get('HtdocsDir'), 'images', 'no_graph_data.png');
- open($NO_DATA_FH, $file)
+ open($NO_DATA_FH, '<', $file)
or die "Could not open '$file' for reading: $!";
local $/ = undef;
print <$NO_DATA_FH>;
View
4 lib/Smolder/DB.pm
@@ -238,7 +238,7 @@ Given the runs the SQL contained in the file against out SQLite DB
sub run_sql_file {
my ($class, $file) = @_;
- open(my $IN, $file) or die "Could not open file '$file' for reading: $!";
+ open(my $IN, '<' $file) or die "Could not open file '$file' for reading: $!";
require Smolder::DB;
my $dbh = Smolder::DB->db_Main();
@@ -375,7 +375,7 @@ sub create_database {
my $file = $class->db_file();
# create a new file by this name whether it exists or not
- open(FH, ">$file") or die "Could not open file '$file' for writing: $!";
+ open(FH, '>', $file) or die "Could not open file '$file' for writing: $!";
close(FH) or die "Could not close file '$file': $!";
my @files = glob(catfile(SQLDir, '*.sql'));
View
2  lib/Smolder/DB/SmokeReport.pm
@@ -214,7 +214,7 @@ sub _slurp_file {
my ($self, $file_name) = @_;
my $text;
local $/;
- open(my $IN, $file_name)
+ open(my $IN, '<', $file_name)
or croak "Could not open file '$file_name' for reading! $!";
$text = <$IN>;
View
2  lib/Smolder/Upgrade/V1_41.pm → lib/Smolder/Upgrade/V1_50.pm
@@ -1,4 +1,4 @@
-package Smolder::Upgrade::V1_41;
+package Smolder::Upgrade::V1_50;
use strict;
use warnings;
use base 'Smolder::Upgrade';
View
2  sql/db_version.sql
@@ -2,4 +2,4 @@ CREATE TABLE db_version (
db_version TEXT NOT NULL
);
-INSERT INTO db_version VALUES ("1.41");
+INSERT INTO db_version VALUES ("1.50");
View
0  sql/upgrade/V1_41.sql → sql/upgrade/V1_50.sql
File renamed without changes
Please sign in to comment.
Something went wrong with that request. Please try again.