mozilla-releng/scriptworker-scripts

bitrisescript: Support workflow specific environment variables

Closed this issue · 1 comments

ahal commented

Bitrisescript has the ability to run multiple workflows from a single task (so we only have one Taskcluster task uselessly polling for completion rather than N). But this feature is severely limited by the fact that the build_params apply globally to all workflows. Notably, environment variables are part of the build_params, so we can only make use of this capability if none of the workflows require any environment variables.

Instead we should provide a mechanism for bitrisescript tasks to apply specific environment variables to specific workflows.

ahal commented

The specific use case I had in mind is the generate-screenshots tasks in firefox-ios:
https://github.com/mozilla-mobile/firefox-ios/blob/main/taskcluster/kinds/generate-screenshots/kind.yml

On Bitrise, these get chunked into locales (17 builds total), where the locales get passed in via environment variable. This env is the only difference between each build's payload. Currently we need to create 17 Taskcluster tasks to trigger all these builds. With this fixed, we'd only need one.