We need to create an initial set of basic CI/CD workflows based on GitHub Actions to vet the correctness of critical components of the Ray Beam Runner and guard them against regressions.
The initial deliverable should support running lightweight unit and single-node integration tests within GitHub's free plan usage limits, and minimally requires the creation of a workflow configuration file to determine when and how CI/CD workflows will be initiated for each commit.
Recommended GitHub-hosted runner environments for these workflows (specified in the workflow config's runs on parameter for each job) are, in priority-order:
ubuntu-18.04
macos-10.15
ubuntu-latest
macos-latest
windows-latest (Ray on Windows is currently in Beta)
Our initial workflows should be run against the latest supported Ray release version (currently 1.11.0) and Apache Beam release version (currently 2.37.0), but we should also create dedicated Ray/Beam version compatibility branches to hold changes meant to ensure ongoing CI/CD workflow stability against:
Ideally, changes passing CI/CD from branch [1] should be periodically merged into branch [2] (e.g. at commits corresponding to release branch version cuts for Ray), and changes passing CI/CD from branch [2] should be periodically merged into master (e.g. for a new release branch version cut of the Ray Beam Runner).
Workflows that rely on connecting to multi-node clusters for integration testing will be considered as part of a separate issue, and are expected to require dedicated cloud service provider (e.g. AWS, GCP, Azure, etc.) funding to host.
We need to create an initial set of basic CI/CD workflows based on GitHub Actions to vet the correctness of critical components of the Ray Beam Runner and guard them against regressions.
The initial deliverable should support running lightweight unit and single-node integration tests within GitHub's free plan usage limits, and minimally requires the creation of a workflow configuration file to determine when and how CI/CD workflows will be initiated for each commit.
Recommended GitHub-hosted runner environments for these workflows (specified in the workflow config's
runs on
parameter for each job) are, in priority-order:Our initial workflows should be run against the latest supported Ray release version (currently 1.11.0) and Apache Beam release version (currently 2.37.0), but we should also create dedicated Ray/Beam version compatibility branches to hold changes meant to ensure ongoing CI/CD workflow stability against:
Ideally, changes passing CI/CD from branch [1] should be periodically merged into branch [2] (e.g. at commits corresponding to release branch version cuts for Ray), and changes passing CI/CD from branch [2] should be periodically merged into
master
(e.g. for a new release branch version cut of the Ray Beam Runner).Workflows that rely on connecting to multi-node clusters for integration testing will be considered as part of a separate issue, and are expected to require dedicated cloud service provider (e.g. AWS, GCP, Azure, etc.) funding to host.