Skip to content

Smoke testing of selected projects with latest ClojureScript commits

Notifications You must be signed in to change notification settings

cljs-oss/canary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 26, 2021
786e8a1 · Apr 26, 2021
Feb 23, 2020
Feb 23, 2020
Feb 23, 2020

Repository files navigation

Canary jobs

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.

Available parameters

> ./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.