Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
Everything is functional and it was already used to find some
regressions. Some parts are still beta-ish and need improvement.
  • Loading branch information
AlexDaniel committed Oct 21, 2018
0 parents commit 9fde935
Show file tree
Hide file tree
Showing 8 changed files with 1,645 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.precomp
.idea
data
output
installed
config.json
*.swp
661 changes: 661 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions META6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"perl" : "6.c",
"name" : "Blin",
"version" : "1.0.0",
"description" : "Project Blin – Toasting Reinvented",
"authors" : [
"Aleks-Daniel Jakimenko-Aleksejev <alex.jakimenko@gmail.com>"
],
"license" : "AGPL-3.0-or-later",
"provides" : {
"Blin::Module" : "lib/Blin/Module.pm6",
"Blin::Processing" : "lib/Blin/Processing.pm6"
},
"depends" : [
"File::Directory::Tree",
"File::Temp",
"JSON::Fast",
"Whateverable",
"Zef"
],
"resources" : [ ],
"source-url" : "https://github.com/perl6/Blin.git"
}
62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
## Project Blin – Toasting Reinvented

Blin is a quality assurance tool for
[Rakudo](https://github.com/rakudo/rakudo/) releases. Blin is based on
[Whateverable](https://github.com/perl6/whateverable/).

Blin was inspired by
[Toaster](https://github.com/perl6-community-modules/perl6-Toaster). Here
are some advantages:
* Fetches archives from
[whateverable](https://github.com/perl6/whateverable/wiki/Shareable#bot-usage-examples)
instead of spending time to build rakudo
* Installs modules in proper order to avoid testing the same module more than once
* Deflaps modules that fail intermittently
* Automatically bisects regressed modules
* Avoids segfaults by producing no useful output instead of using DBIish


### Installation

Install required packages:
```bash
sudo apt install zstd lrzip
```

Install dependencies:

```bash
zef install --deps-only .
```

Many modules require native dependencies. See
[this page](https://github.com/perl6-community-modules/perl6-Toaster/wiki)
for the list of packages to install.


### Running

If you want to test one or more modules:

```bash
time PERL6LIB=lib ./bin/blin.p6 Foo::Regressed Foo::Regressed::Very Foo::Dependencies::B-on-A
```

If you want to test the whole ecosystem:
```bash
time PERL6LIB=lib ./bin/blin.p6
```

Estimated time to test the whole ecosystem with 24 cores is ≈60 minutes.

**⚠☠ SECURITY NOTE: [issues mentioned in Toaster still
apply.](https://github.com/perl6-community-modules/perl6-Toaster#warning-dangerus-stuf-ahed)
Do not run this for the whole ecosystem on non-throwaway
installs. ☠⚠**


### Viewing

See `output/overview` file for a basic overview of results. More
details for specific modules can be found in `installed/`
directory. Betters ways to view the data should come soon (hopefully).
Loading

0 comments on commit 9fde935

Please sign in to comment.