Automatic config update

Generated by StarDoctor, see https://cr-buildbucket.appspot.com/build/8789609801026508593 for the recipe.

BUG=None
TEST=regenerated configs

Change-Id: Ic73b97063102e1fb15bbb6b076f93a1c70a751f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/suite_scheduler/+/4234896
Tested-by: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
Commit-Queue: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
Bot-Commit: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
1 file changed
tree: cee83ac468816ea89226c1a5e6dcd56428fa6d22
  1. bin/
  2. configs/
  3. generated_configs/
  4. venv/
  5. www/
  6. .gitignore
  7. .style.yapf
  8. __init__.py
  9. analytics.py
  10. analytics_unittest.py
  11. app.yaml
  12. appengine_config.py
  13. base_event.py
  14. base_event_unittest.py
  15. build_event.py
  16. build_event_unittest.py
  17. build_lib.py
  18. build_lib_unittest.py
  19. build_utils.py
  20. build_utils_unittest.py
  21. buildbucket.py
  22. buildbucket_unittest.py
  23. config_reader.py
  24. config_reader_unittest.py
  25. constants.py
  26. cron.py
  27. cron.yaml
  28. datastore_client.py
  29. datastore_client_unittest.py
  30. file_getter.py
  31. gae_import.py
  32. gae_test.py
  33. global_config.py
  34. local_integration_test.py
  35. main.py
  36. multi_duts_lib.py
  37. multi_duts_lib_unittest.py
  38. OWNERS
  39. PRESUBMIT.cfg
  40. queue.yaml
  41. README.md
  42. requirements.txt
  43. rest_client.py
  44. runner.py
  45. setup_environment.py
  46. stackdriver_lib.py
  47. task.py
  48. task_config_reader.py
  49. task_config_reader_unittest.py
  50. task_executor.py
  51. task_executor_unittest.py
  52. task_unittest.py
  53. test.yaml
  54. time_converter.py
  55. time_converter_unittest.py
  56. timed_event.py
  57. timed_event_unittest.py
  58. tot_manager.py
  59. tot_manager_unittest.py
  60. trigger_receiver.py
  61. trigger_receiver_unittest.py
  62. unblocked_terms.txt
  63. utils.py
  64. utils_unittest.py
README.md

Suite-Scheduler README

Developer Setup {#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 {#testing}

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 {#modify-config}

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 {#release}

There are two instances of suite-scheduler:

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