Support rebuilding specific R versions

This commit is contained in:
Greg Lin 2020-07-20 17:44:31 -05:00
commit 8755140017
2 changed files with 9 additions and 3 deletions

View file

@ -243,6 +243,10 @@ Once you've followed the steps above, submit a pull request. On successful merge
Periodically, someone with access to these resources may need to re-trigger every R version/platform combination. This quite easy with the `serverless` tool installed.
```
```bash
# Rebuild all R versions
serverless invoke stepf -n rBuilds -d '{"force": true}'
# Rebuild specific R versions
serverless invoke stepf -n rBuilds -d '{"force": true, "versions": ["3.6.3", "4.0.2"]}'
```

View file

@ -94,8 +94,10 @@ def _submit_job(version, platform):
return response['jobId']
def _versions_to_build(force):
def _versions_to_build(force, versions):
cran_versions = _cran_all_r_versions()['r_versions']
if versions:
cran_versions = [v for v in cran_versions if v in versions]
known_versions = _known_r_versions()['r_versions']
new_versions = _compare_versions(cran_versions, known_versions)
@ -117,7 +119,7 @@ def _check_for_job_status(jobs, status):
def queue_builds(event, context):
"""Queue some builds."""
event['versions_to_build'] = _versions_to_build(event.get('force', False))
event['versions_to_build'] = _versions_to_build(event.get('force', False), event.get('versions'))
event['supported_platforms'] = _to_list(os.environ.get('SUPPORTED_PLATFORMS', 'ubuntu-1604'))
job_ids = []
for version in event['versions_to_build']: