bitrisescript: Support workflow specific environment variables
Closed this issue · 1 comments
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.
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.