The main instance monitoring jQuery core and related projects runs at swarm.jquery.org.
Clone the repo,
git clone git://github.com/jquery/testswarm.git, or
download the latest
TestSwarm uses the Semantic Versioning guidelines as much as possible.
Releases will be numbered in the following format:
-alpha suffix is used to indicate unreleased versions in development.
For more information on SemVer, please visit http://semver.org/.
Found a bug? Please report it using our issue tracker!
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.3.0+ (or PHP-FPM for NGINX)
- MySQL 4.0+
- cURL (for the cleanup action; see step 7)
Set up a MySQL database and create a user with read and write access.
config/testswarm.jsonand update the database settings. For other settings, check the wiki.
Currently the only supported webserver is Apache (which uses a
To run TestSwarm from a non-root directory, set
web.contextpathto the correct path from the web root and update RewriteBase in
.htaccess. Verify that
.htaccessis working properly by opening a page (e.g.
/testswarm/projects) in your browser. If it doesn't work, make sure your
.htaccessis actually being read (e.g. by putting some jibberish into the
.htaccessfile, which should result in a HTTP 500 Error). If it doesn't get loaded, verify that
AllowOverrideis set to "
All" (at least not to "
None") in your Apache configuration.
The file name should match your domain e.g. for swarm.example.org:
cp config/nginx-sample.conf /etc/nginx/sites-available/swarm.example.org.conf
Open this conf file in your editor and fill in the correct values for
YOURURL, and make sure your install is located at
/var/www/testswarm(otherwise update the file to match your install location).
Now you need to link the
sites-availableconfig to the
(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:
if is not running start it:
robots.txt(or add similar rules to your main
robots.txtfile if TestSwarm is not in the root directory).
storage.cacheDirto a writable directory that is not readable from the web. Either set it to a custom path outside the web document root, or use the default
cachedirectory (protected with .htaccess).
chmod 777 cache.
Install the TestSwarm database by running:
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
You're welcome to use the GitHub issue tracker to start discussions.
Or post to the QUnit and Testing forum.
Most of us are also on IRC in the #jquery-dev channel at irc.freenode.net
Copyright and license