GithubHelp home page GithubHelp logo

isabella232 / testswarm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jquery/testswarm

0.0 0.0 0.0 6.09 MB

Distributed continuous integration testing for JavaScript.

Home Page: http://swarm.jquery.org

License: Other

PHP 85.47% JavaScript 11.16% CSS 3.37%

testswarm's Introduction

Build Status Tested with QUnit

TestSwarm - Distributed Continuous Integration for JavaScript

TestSwarm provides distributed continuous integration testing for JavaScript.

The main instance monitoring jQuery core and related projects runs at swarm.jquery.org.

Project Status

TestSwarm is still in use in projects of the jQuery Foundation, but it isn't under active development anymore. Although critical issues may be patched in the future, most open issues will remain unaddressed.

Within the jQuery Foundation, we're experimenting with alternative projects, to eventually shut down our own instance of TestSwarm:

We recommend reviewing those and other alternatives.

Quick start

Clone the repo, git clone --recursive git://github.com/jquery/testswarm.git.

Versioning

TestSwarm uses the Semantic Versioning guidelines as much as possible.

Releases will be numbered in the following format:

<major>.<minor>.<patch>

The -alpha suffix is used to indicate unreleased versions in development.

For more information on SemVer, please visit https://semver.org/.

Bug tracker

Found a bug? Please report it using our issue tracker!

Installation

Environmental compatibility

To run TestSwarm you will need a web server, a database server and PHP. At the moment TestSwarm supports the following, but other configurations may work as well.

  • Apache 2.0+, NGINX 1.2+
  • PHP 5.4+ (or PHP-FPM for NGINX)
  • MySQL 4.0+
  • cURL (for the cleanup action; see step 8)

Steps

  1. Create an empty MySQL database and create a user with read and write access to it.

  2. Copy config/sample-localSettings.php to config/localSettings.php
    Copy config/sample-localSettings.json to config/localSettings.json.
    Edit localSettings.json and replace the sample settings with your own.
    Refer to the Settings page for more information.

  3. For Apache:
    Copy config/sample-.htaccess to .htaccess.
    To run TestSwarm from a non-root directory, set web.contextpath in localSettings.json to the correct path from the web root and update RewriteBase in .htaccess. Verify that .htaccess is working properly by opening a page other than the HomePage (e.g. /testswarm/projects) in your browser.
    Required Apache configuration:

    • AllowOverride is set to All (or ensure FileInfo is included).
    • mod_rewrite installed and loaded.

    For NGINX:
    Copy config/sample-nginx.conf to /etc/nginx/sites-available.
    The file name should match your domain e.g. for swarm.example.org:
    cp config/sample-nginx.conf /etc/nginx/sites-available/swarm.example.org.conf
    Open this conf file in your editor and replace the "example" values with the correct values.
    Make sure your install is located at /var/www/testswarm (otherwise update the file to match the correct location).
    Now you need to link the sites-available config to the sites-enabled config:
    (replace the "swarm.example.org" with your own file name):
    ln -s /etc/nginx/sites-available/swarm.example.org.conf /etc/nginx/sites-enabled/swarm.example.org.conf
    Now make sure that php-fpm is running: /etc/init.d/php-fpm status
    if is not running start it: /etc/init.d/php-fpm start

  4. Copy config/sample-robots.txt to robots.txt
    Or, if TestSwarm is not in the root directory, add similar rules to your root robots.txt.

  5. Set storage.cacheDir to a writable directory that is not readable from the web. Either set it to a custom path outside the document root, or use the default cache directory (protected with .htaccess).
    Chmod it: chmod 777 cache.

  6. Install dependencies composer install --no-dev

  7. Install the TestSwarm database by running: php scripts/install.php

  8. Create an entry in your crontab for action=cleanup. This performs various cleaning duties such as making timed-out runs available again.
    * * * * * curl -s http://swarm.example.org/api.php?action=cleanup > /dev/null

  9. Create a project and submit jobs.

Get involved

You're welcome to use the GitHub issue tracker to start discussions.

Some of us are also on Gitter at jquery/dev.

Documentation

Copyright and license

See LICENSE.txt.

History

TestSwarm was originally created by John Resig as a basic tool to support unit testing of the jQuery JavaScript library. It later become a Mozilla Labs project, and has since moved again to become a jQuery Foundation project.

testswarm's People

Contributors

krinkle avatar jeresig avatar jzaefferer avatar scottgonzalez avatar mgol avatar subtlegradient avatar levidehaan avatar bachp avatar hashar avatar agcolom avatar hennr avatar patrickkettner avatar vvo avatar s-a avatar pvande avatar staabm avatar marcfallows avatar jcoglan avatar jayarjo avatar dcherman avatar granteagon avatar zhaoz avatar workmanw avatar drogus avatar wagenet avatar morganrallen avatar mikesherov avatar pope avatar j avatar joelpurra avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.