Skip to main content
A schedule runs the scenarios you pick at a set time, on the days you pick, and posts one summary to a Slack channel when the run ends. Use it to check the app every night without anyone pressing Run tests, or to keep an eye on the build your users have between releases.

Create a schedule

Open Schedules under Test suite and click Set up a nightly run (or New schedule once you have one). You can also click Schedule this… at the end of Run tests. Setting it up takes three steps: Click Create schedule. The confirmation tells you when the first run starts.
New schedule, Schedule step: name, start time 03:00 Paris, weekdays selected, next three runs, an estimated duration of about 25 minutes per platform, the Slack channel picker and the This schedule summary

The Schedule step: when it runs, how long it takes, and where the summary goes.

A new schedule starts at 03:00 on weekdays, in your browser’s timezone. Pick Weekdays, Every day or any set of days, and search the timezone by city or country.

Which build runs

For a web app, test the URL from the app’s settings, another URL such as staging or a preview, or a branch Mini builds before each run.

Before you save

The Schedule step shows what the schedule will cost and when it will finish:
  • Next runs: the next three starts, in the schedule’s timezone.
  • Duration: how long the run takes, based on past runs of these scenarios, and around when the summary reaches Slack.
  • The number of scenario runs a night and a week. Scheduled runs are billed like any run.
On physical phones, scenarios run as many at a time as you have phones, and a busy phone is waited for up to 4 hours. Slack has to be connected to the workspace, since the summary has nowhere else to go. See Mini in Slack.

The Slack summary

After each run, Mini posts one message in the channel you picked: what passed, which issues are new since the schedule’s previous run, which are still broken, and a link to the run report. A night that didn’t run says why. Turn off Post when all clear too to hear only about problems.

Read the history

Each schedule has a card on the Schedules page with its days and time, the channel it posts to, and its last runs, oldest first. Hover a run to see the build it tested (a new build or the same as last time) and its issues, marked New, Still broken or Works again. Runs started by a schedule also show on the Runs page, labeled with the schedule’s name. A run that didn’t start always has a reason on the card, for example:
  • The workspace is out of credits or reached its spend limit.
  • No build installs, or the branch failed to build.
  • The previous run was still going.
  • No scenario matches the schedule.
  • The site didn’t respond, or your test phones were busy.
From the card’s menu you can Run now, Edit schedule… or Delete schedule (hold to confirm, and undo it right after if you need to). The switch on the card pauses a schedule and turns it back on. Past runs of a deleted schedule stay on the Runs page.

From the CLI

The minitest schedules commands manage the same schedules. They take the app with --app and address a schedule by name or ID.
--days takes weekdays (the default), weekends, every-day or a list like mon,wed,fri. What runs is --suite (the default), --tag with optional --exclude, or --scenario. The Slack channel ID is at the bottom of the channel’s About tab in Slack. Run minitest schedules create --help for every flag.

Next steps

Ways to start a run

Every other way to start a run, from the dashboard to CI.

Mini in Slack

Connect Slack and pick the channels Mini posts to.

Triage issues

What to do with the issues a night turned up.