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
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.yml
file 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.