php-censor / php-censor
PHP Censor is a open source self-hosted continuous integration server for PHP projects (PHPCI fork).
Installs: 822
Dependents: 0
Suggesters: 0
Security: 1
Stars: 679
Watchers: 28
Forks: 145
Open Issues: 23
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/common: ^1.0
- php-censor/flowdock-client: ^2.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: ^5.4
- symfony/cache: ^5.4
- symfony/console: ^5.4
- symfony/css-selector: ^5.4
- symfony/dependency-injection: ^5.4
- symfony/dom-crawler: ^5.4
- symfony/event-dispatcher: ^5.4
- symfony/filesystem: ^5.4
- symfony/finder: ^5.4
- symfony/http-foundation: ^5.4
- symfony/process: ^5.4
- symfony/yaml: ^5.4
- voku/anti-xss: ^4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
- infection/infection: ^0.25
- 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.5
- sebastian/phpcpd: ^6.0
- squizlabs/php_codesniffer: ^3.5
- symfony/var-dumper: ^4.4
- vimeo/psalm: ^4.23
- dev-master
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 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-rolling-release
- dev-2.2-find-binary-fix
- dev-release-2.1
- dev-release-2.0
- dev-2.2-secrets-cli
- dev-2.2-di
- dev-3.0-new-plugins
- dev-release-1.3
- dev-release-1.2
- dev-release-1.1
- dev-release-1.0
This package is auto-updated.
Last update: 2024-11-19 16:19:18 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:
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 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 databases on 'localhost' with user/password for MySQL/PostgreSQL and set env
variables from phpunit.xml.dist
config. For example:
#!/usr/bin/env bash psql --username="test" --host="127.0.0.1" --echo-all --command="DROP DATABASE IF EXISTS \"php-censor-test\";" psql --username="test" --host="127.0.0.1" --echo-all --command="CREATE DATABASE \"php-censor-test\";" mysql --user="test" --password="test" --host="127.0.0.1" --verbose --execute="CREATE DATABASE IF NOT EXISTS \`php-censor-test\`;" export SKIP_DB_TESTS=0;\ export POSTGRESQL_DBNAME=php-censor-test;\ export POSTGRESQL_USER=test;\ export POSTGRESQL_PASSWORD=test;\ export MYSQL_DBNAME=php-censor-test;\ export MYSQL_USER=test;\ export MYSQL_PASSWORD=test;\ vendor/bin/phpunit --configuration=phpunit.xml.dist --verbose
Documentation
Full PHP Censor documentation.
License
PHP Censor is open source software licensed under the BSD-2-Clause license.