diff --git a/README.md b/README.md index 1a4ac9c..eed9270 100644 --- a/README.md +++ b/README.md @@ -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"]}' ``` diff --git a/handler.py b/handler.py index eaaa00e..676019b 100644 --- a/handler.py +++ b/handler.py @@ -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']: