Automatic config update

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

BUG=None
TEST=regenerated configs

Change-Id: I849327db6b81a7db6649e6b6091f3c20ccf959a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/suite_scheduler/+/4585225
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>
Tested-by: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
1 file changed
tree: 61415180a5f3d2328117169a236d998ae1c3d953
  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. install_gcp_reqs
  35. local_integration_test.py
  36. main.py
  37. multi_duts_lib.py
  38. multi_duts_lib_unittest.py
  39. OWNERS
  40. PRESUBMIT.cfg
  41. queue.yaml
  42. README.md
  43. requirements.txt
  44. rest_client.py
  45. retry.py
  46. retry_unittest.py
  47. runner.py
  48. runner.py.vpython
  49. setup_environment.py
  50. stackdriver_lib.py
  51. task.py
  52. task_config_reader.py
  53. task_config_reader_unittest.py
  54. task_executor.py
  55. task_executor_unittest.py
  56. task_unittest.py
  57. test.yaml
  58. time_converter.py
  59. time_converter_unittest.py
  60. timed_event.py
  61. timed_event_unittest.py
  62. tot_manager.py
  63. tot_manager_unittest.py
  64. trigger_receiver.py
  65. trigger_receiver_unittest.py
  66. unblocked_terms.txt
  67. utils.py
  68. utils_unittest.py
README.md

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

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 depot_tools/vpython to provide a stable environment for development and release.

First, make sure you have depot_tools installed and stored within your $PATH

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.