Clone this repo:
  1. 8f7ffde Automatic config update by chromeos-ci-prod · 21 hours ago main
  2. 4c8c26d Automatic config update by chromeos-ci-prod · 28 hours ago
  3. b109235 Automatic config update by chromeos-ci-prod · 34 hours ago
  4. 8abe423 Automatic config update by chromeos-ci-prod · 2 days ago
  5. 8d55f28 Automatic config update by chromeos-ci-prod · 2 days ago

Suite-Scheduler README

Developer Setup

SDK

suite-scheduler is an AppEngine Standard Python Environment V1 application. You need the Google Cloud SDK's AppEngine Python component to develop and deploy this application:

  • Install Google Cloud SDK:
    • Follow the instructions to install the Python App Engine component.
  • Log in to gcloud: gcloud auth login <username>@google.com
  • Install App Engine Python extensions
    • gcloud components install app-engine-python
    • gcloud components install app-engine-python-extras

Developer environment

Suite-scheduler development must be done in the standard Chrome OS source checkout but entirely outside the Chrome OS chroot environment.

suite-scheduler uses infra_virtualenv to provide a stable environment for development and release.

First, make sure you install virtualenv with version at least 20.0.

Then, to (re)initialize developer environment, run

  bin/setup_environment

For testing changes beyond to the configs/ directory, and for deploying suite-scheduler, you must also obtain certain service credentials used by suite-scheduler.

  bin/setup_environment --load-creds

If you get failures when trying to download credentials,

  • Double check you're logged into the Google Cloud SDK by running gcloud auth list.
  • Contact Test Platform team or one of the OWNERS to be allowlisted.

Testing your changes

Changes must be validated with the full test suite:

  bin/run_tests
  bin/run_tests --debug  # More verbose

These tests include some integration tests that can take over 5 minutes to run.

** WARNING: suite-scheduler unittests do not currently run in presubmit. You MUST ensure that unit-tests pass locally for your change. **

Making configuration changes

Changes to suite-scheduler configs are made in config-internal, as of 2020. Detailed instructions on adding/editing config files can be found at go/ss-configs.

Releasing to production

There are two instances of suite-scheduler:

Detailed deployment instructions can be found at go/suite-scheduler#deployment.