Canary is responsible for smoke testing participating ClojureScript projects with a pinned ClojureScript version. You can read more about Canary runner in the master readme.
You can trigger Canary jobs by committing into this branch. We extract git commit message and use it as command-line arguments to execute your job.
For example job
commit message will run a job for bleeding-edge official ClojureScript master.
To execute above command personally I would run this from command-line:
git clone --branch jobs [email protected]:cljs-oss/canary.git
cd canary
git commit --allow-empty -m "job"
git push
The commit can be empty and the message is expected
to contain command-line arguments you would normally use job [action] [arg1] [arg2] [...]
.
Each completed job should finally commit a report page with results. You can find archived reports in the results branch.
> ./scripts/docker-run.sh help
(in /runner) $ lein run -- help
Exercises ClojureScript projects with a pinned ClojureScript version.
Usage: ./run.sh [action] [options]
Actions:
job Run a new job with given options
list List available tasks (and test filters from options)
help Print this usage info
Options:
-r, --compiler-rev REV master Pin ClojureScript compiler to specific revision
-c, --compiler-repo URL clojure/clojurescript Git repo to fetch compiler sources from (may be full repo url e.g. https://github.com/clojure/clojurescript.git)
-p, --projects DIR src/canary/projects Path to projects directory
--workdir DIR .workdir Path to working directory
--cachedir DIR .cachedir Path to caching directory. Persists state between runs for speedup
--only SUBSTR Enable tasks matching a substring (or any of space separated substrings)
--except SUBSTR Disable tasks matching a substring (or any of space separated substrings)
--include REGEX Enable tasks matching a regex
--exclude REGEX Disable tasks matching a regex
--meta-job-args TEXT Optional job args to be presented in reports
--job-id ID 0 Optional job id
--polling-interval SECONDS 60000 Polling interval for job status (in seconds)
--timeout SECONDS 1800000 Total timeout for job to complete (in seconds)
--spawning-delay SECONDS 1000 Delay between spawning individual tasks (in seconds)
--production Commit into results branch only with this flag
-v Verbosity level; may be specified multiple times
-h, --help
Please note that --production
and --job-id
parameters are not available to you. They get overridden by our launcher script.