corpsee / php-censor
PHP Censor is a open source self-hosted continuous integration server for PHP projects (PHPCI fork).
Installs: 281
Dependents: 0
Suggesters: 0
Security: 0
Stars: 638
Watchers: 31
Forks: 134
Type:application
pkg:composer/corpsee/php-censor
Requires
- php: >=7.4.0
 - ext-bcmath: *
 - ext-curl: *
 - ext-dom: *
 - ext-json: *
 - ext-libxml: *
 - ext-openssl: *
 - ext-pdo: *
 - ext-simplexml: *
 - guzzlehttp/guzzle: ^6.5
 - hipchat/hipchat-php: ^1.4
 - jasongrimes/paginator: ^1.0
 - maknz/slack: ^1.7
 - monolog/monolog: ^2.2
 - pda/pheanstalk: ^4.0
 - php-censor/flowdock-client: ^1.0
 - pimple/pimple: ^3.3
 - psr/log: ^1.1
 - robmorgan/phinx: ~0.12.0
 - sebastian/diff: ^4.0
 - sensiolabs/ansi-to-html: ^1.2
 - swiftmailer/swiftmailer: ^6.2
 - symfony/browser-kit: ^4.4
 - symfony/cache: ^4.4
 - symfony/console: ^4.4
 - symfony/css-selector: ^4.4
 - symfony/dependency-injection: ^4.4
 - symfony/dom-crawler: ^4.4
 - symfony/event-dispatcher: ^4.4
 - symfony/filesystem: ^4.4
 - symfony/finder: ^4.4
 - symfony/process: ^4.4
 - symfony/yaml: ^4.4
 - voku/anti-xss: ^4.1
 
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
 - php-censor/phpdoc-checker: ^3.0
 - php-parallel-lint/php-parallel-lint: ^1.2
 - phploc/phploc: ^7.0
 - phpmd/phpmd: ^2.9
 - phpspec/prophecy-phpunit: ^2.0
 - phpunit/phpunit: ^9.0
 - sebastian/phpcpd: ^6.0
 - squizlabs/php_codesniffer: ^3.5
 - symfony/var-dumper: ^4.4
 
- dev-master
 - 2.0.7
 - 2.0.6
 - 2.0.5
 - 2.0.4
 - 2.0.3
 - 2.0.2
 - 2.0.1
 - 2.0.0
 - 1.3.7
 - 1.3.6
 - 1.3.5
 - 1.3.4
 - 1.3.3
 - 1.3.2
 - 1.3.1
 - 1.3.0
 - 1.2.4
 - 1.2.3
 - 1.2.2
 - 1.2.1
 - 1.2.0
 - 1.1.6
 - 1.1.5
 - 1.1.4
 - 1.1.3
 - 1.1.2
 - 1.1.1
 - 1.1.0
 - 1.0.16
 - 1.0.15
 - 1.0.14
 - 1.0.13
 - 1.0.12
 - 1.0.11
 - 1.0.10
 - 1.0.9
 - 1.0.8
 - 1.0.7
 - 1.0.6
 - 1.0.5
 - 1.0.4
 - 1.0.3
 - 1.0.2
 - 1.0.1
 - 1.0.0
 - 0.25.0
 - 0.24.0
 - 0.23.0
 - 0.22.0
 - 0.21.0
 - 0.20.0
 - 0.19.0
 - 0.18.0
 - 0.17.0
 - 0.16.0
 - 0.15.0
 - 0.14.0
 - 0.13.0
 - 0.12.0
 - 0.11.0
 - 0.10.0
 - 0.9.0
 - 0.8.0
 - 0.7.0
 - 0.6.0
 - 0.5.0
 - 0.4.0
 - 0.3.0
 - 0.2.0
 - 0.1.0
 - dev-release-2.0
 - dev-release-1.3
 - dev-2.1-code-style
 - dev-3.0-initial
 - dev-2.1-webpack
 - dev-signals
 - dev-release-1.2
 - dev-2.0-plugins
 - dev-2.0-periodical-config
 - dev-2.0-new-plugins
 - dev-2.0-installation
 - dev-2.0-exceptions
 - dev-2.0-dep-cache
 - dev-2.0-code-style
 - dev-2.0-check-status
 - dev-release-1.1
 - dev-release-1.0
 - dev-new-unit-tests
 - dev-initial-release-2.0
 - dev-gui-animation
 
This package is not auto-updated.
Last update: 2022-02-01 13:05:01 UTC
README
PHP Censor is an open source, self-hosted, continuous integration server for PHP projects (PHPCI fork). Official twitter @php_censor.
PHP Censor versions:
| Version | Latest | Branch | Status | Minimal PHP Version | 
|---|---|---|---|---|
1.0 (Morty Smith) | 
1.0.16 | 
release-1.0 | 
Old version (UNSUPPORTED) | >=5.6, <8.0 | 
1.1 (Birdperson) | 
1.1.6 | 
release-1.1 | 
Old version (UNSUPPORTED) | >=5.6, <8.0 | 
1.2 (Summer Smith) | 
1.2.4 | 
release-1.2 | 
Old version (UNSUPPORTED) | >=5.6, <8.0 | 
1.3 (Jerry Smith) | 
1.3.6 | 
release-1.3 | 
Old version (UNSUPPORTED) | >=5.6, <8.0 | 
2.0 (Rick Sanchez) | 
2.0.6 | 
release-2.0 | 
Current stable version (Upgrade from v1 to v2) | >=7.4 | 
2.1 | 
WIP | master | 
Feature minor version (WIP) | >=7.4 | 
More screenshots.
- System requirements
 - Features
 - Changelog
 - Roadmap
 - Installing
 - Updating
 - Configuring project
 - Migrations
 - Code style
 - Tests
 - Documentation
 - License
 
System requirements
- 
Unix-like OS (Windows isn't supported);
 - 
PHP 7.4+ (with OpenSSL support and enabled functions:
exec(),shell_exec()andproc_open()); - 
Web-server (Nginx or Apache2);
 - 
Database (MySQL/MariaDB or PostgreSQL);
 - 
Beanstalkd queue;
 
Features
- 
Clone project from GitHub, Bitbucket (Git/Hg), GitLab, Git, Hg (Mercurial), SVN (Subversion) or from local directory;
 - 
Set up and tear down database tests for PostgreSQL, MySQL or SQLite;
 - 
Install Composer dependencies;
 - 
Run tests for PHPUnit, Atoum, Behat, Codeception and PHPSpec;
 - 
Check code via Lint, PHPParallelLint, Pdepend, PHPCodeSniffer, PHPCpd, PHPCsFixer, PHPDocblockChecker, PHPLoc, PHPMessDetector, PHPTalLint and TechnicalDebt;
 - 
Run through any combination of the other supported plugins, including Campfire, CleanBuild, CopyBuild, Deployer, Env, Git, Grunt, Gulp, PackageBuild, Phar, Phing, Shell and Wipe;
 - 
Send notifications to Email, XMPP, Slack, IRC, Flowdock, HipChat and Telegram;
 - 
Use your LDAP-server for authentication;
 
Changelog
Roadmap
See milestones.
Installing
See Installing section in documentation;
Updating
See Updating section in documentation;
Configuring project
There are several ways to set up the project:
- 
Add project without any project config (Runs "zero-config" plugins, including: Composer, TechnicalDebt, PHPLoc, PHPCpd, PHPCodeSniffer, PHPMessDetector, PHPDocblockChecker, PHPParallelLint, PHPUnit and Codeception);
 - 
Similar to Travis CI, to support PHP Censor in your project, you simply need to add a
.php-censor.ymlfile to the root of your repository; - 
Add project config in PHP Censor project page (And it will cancel file config from project repository);
 
The project config should look something like this:
setup: composer: action: "install" directory: "." test: php_unit: config: "phpunit.xml" php_mess_detector: allow_failures: true php_code_sniffer: standard: "PSR2" php_cpd: allow_failures: true complete: email_notify: default_mailto_address: admin@php-censor.local
More details about configuring project in documentation.
Migrations
Run to apply latest migrations:
cd /path/to/php-censor
./bin/console php-censor-migrations:migrate
Run to create a new migration:
cd /path/to/php-censor
./bin/console php-censor-migrations:create NewMigrationName
Code style
cd /path/to/php-censor
./vendor/bin/php-cs-fixer fix --allow-risky=yes
Tests
cd /path/to/php-censor
./vendor/bin/phpunit --configuration ./phpunit.xml.dist --coverage-html ./tests/runtime/coverage -vvv --colors=always
For Phar plugin tests set 'phar.readonly' setting to Off (0) in php.ini config. Otherwise the tests will be skipped.
For database tests create an empty 'test_db' database on 'localhost' with user/password: root/<empty>
for MySQL and with user/password: postgres/<empty> for PostgreSQL (You can change default test user, password and
database name in phpunit.xml[.dist] config constants). If connection failed the tests will be skipped.
Documentation
Full PHP Censor documentation.
License
PHP Censor is open source software licensed under the BSD-2-Clause license.

