GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - php-censor/php-censor: PHP Censor is an open source self-hosted continuous integration server for PHP projects.

BranchesTags
Open more actions menu

Latest commit

 

History

3,484 Commits
3,484 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
app
app
 
 
bin
bin
 
 
docs
docs
 
 
public
public
 
 
runtime
runtime
 
 
src
src
 
 
tests
tests
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.php-censor.yml
.php-censor.yml
 
 
.php-cs-fixer.dist.php
.php-cs-fixer.dist.php
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
VERSION.md
VERSION.md
 
 
bootstrap.php
bootstrap.php
 
 
codecov.yml
codecov.yml
 
 
composer.json
composer.json
 
 
composer.lock
composer.lock
 
 
infection.json.dist
infection.json.dist
 
 
phpmd.xml.dist
phpmd.xml.dist
 
 
phpunit.xml.dist
phpunit.xml.dist
 
 
psalm.xml.dist
psalm.xml.dist
 
 
rector.php
rector.php
 
 

Repository files navigation

Minimum PHP version: 7.4.0 Actions PHP Censor Codecov Latest Version Total downloads License

PHP Censor

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.7 release-1.3 Old version (UNSUPPORTED) >=5.6, <8.0
2.0 (Rick Sanchez) 2.0.14 release-2.0 Last stable version (Upgrade from v1 to v2) >=7.4
2.1 (Mr. Meeseeks) 2.1.6 release-2.1 Current stable version >=7.4
2.2 WIP master Feature minor version (WIP) >=7.4

Dashboard

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() and proc_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

Versions 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: [email protected]

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.

About

PHP Censor is an open source self-hosted continuous integration server for PHP projects.

php-censor.info

Topics

cicontinuous-integrationdatabase-testinghacktoberfestphpphp-censorphpcensorphpciself-hostedtestingunit-testing

Resources

Readme
BSD-2-Clause license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

687 stars

Watchers

27 watching

Forks

144 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.