README.md 2.55 KB
Newer Older
Julien Veyssier's avatar
Julien Veyssier committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
R package checker
=================

# Introduction
---

R package checker is a tool to check if a new version of an R package (you might be developing) brakes any package which depends on it.

It works with a Bash script and an optional simple web interface. It runs R CMD CHECK on every package that depends on the package to test.

The execution of the R CMD CHECK can be parallelized by giving the corresponding option to the Bash script.

XVFB is used to perform graphical actions even without being under a running X server. JQuery is used to present check results.

There is basically three ways to use R package checker :

* Call the Bash script directly and watch the output
* Call the Bash script directly with the --html option to produce a real-time html output
* Setup the Php files and adapt values in config.php to manage test launch and results viewing.

## Table of content
---
1. [Screenshots](#screenshots)
2. [Requirements](#requirements)
3. [Usage](#installation)
    1. Direct Bash call
        * without --html
        * with --html
    2. With the basic web interface

# Screenshots
---
Bash script output :
Julien Veyssier's avatar
Julien Veyssier committed
34
35
36
37
38
39
40
41

![screenshot bash](https://gitlab.com/eneiluj/r-package-checker/raw/master/screenshots/rcheck_bash.png)

Simple web interface examples :

![screenshot web](https://gitlab.com/eneiluj/r-package-checker/raw/master/screenshots/rcheck_web.png)

![screenshot web problem](https://gitlab.com/eneiluj/r-package-checker/raw/master/screenshots/rcheck_web_problem.png)
Julien Veyssier's avatar
Julien Veyssier committed
42
43
44
45
46
47
48
49
50
51
52
53
54

# Requirements
---
* MANDATORY any version of R (results will be different from one version to another)
* MANDATORY Xvfb
* OPTIONAL Php enabled web server
* Java is probably needed by one of the packages depending on the package to check

# Usage
---
Adjust variables in config.php :

```php
Julien Veyssier's avatar
Julien Veyssier committed
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// name of the package to test
$package_to_test = "mypkg";

// path to rtest bash script
$rtest_location = "/home/user/rcheck/rtest.sh";

// where you want to install packages
$rlib_location = "/home/user/Rlib_test";

//$email_addr = "Emmanuel.Paradis@univ-montp2.fr";
$email_addr = "your@email.address";

// path to xvfb-run
$xvfbrun_location = "/home/user/xvfb-run";

// directory for all results directories
// (where to put check results)
$all_results_dir = "/home/user/rcheck_results/";

// repository to use to get last version of the package to test
$package_to_test_repo = "http://my.pkg.repo.org/";

// number of threads used for parallel checking
$nb_threads = 4;

// base URL where you host the web interface
// (will prefix start.php and view.php in links)
$base_url = "http://my.server.org/r-package-checker/";
Julien Veyssier's avatar
Julien Veyssier committed
83
84
```