Skip to content

Conversation

@aednichols
Copy link
Collaborator

Description

"What the heck is localization optional?"

When this attribute is set, apply "localization optional" treatment to all files in the task. Previously, a user had to specify it for each file individually.

# WDL 1.1, this PR

runtime {
    localizationOptional: true
    [...]
}

This is an enhancement over the old, nonstandard way that required listing each file:

# Older WDL versions

parameter_meta {
    foo: {
        localization_optional: true
    }
    bar: {
        localization_optional: true
    }
}

The 1.1 spec also has a new way to treat individual files, which I'm saving for the next PR. There are some keys and comments referencing this.

# WDL 1.1, next PR

runtime {
    inputs: object {
        foo: object {
            localizationOptional: true
        }
    }
}

Release Notes Confirmation

CHANGELOG.md

  • I updated CHANGELOG.md in this PR
  • I assert that this change shouldn't be included in CHANGELOG.md because it doesn't impact community users

Terra Release Notes

  • I added a suggested release notes entry in this Jira ticket
  • I assert that this change doesn't need Jira release notes because it doesn't impact Terra users

@aednichols aednichols requested a review from a team as a code owner November 19, 2025 15:35
Copy link
Contributor

@LizBaldo LizBaldo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very clear, thanks for splitting the tickets, it makes this PR a lot easier to review.
Not sure what is going on with the integrations tests though, seems like there are some unrelated infra issues

@@ -1,145 +0,0 @@
version 1.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left over and forgotten from the papi > Batch move?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even better, it's from the PAPIv1 => PAPIv2 transition from about 2018.

Reference message in Broad Slack.

val localizeOptional = jobDescriptor.findInputFilesByParameterMeta {
case MetaValueElementObject(values) => values.get("localization_optional").contains(MetaValueElementBoolean(true))
case _ => false
// TODO: There is an AWS version of this that looks functionally identical. Consider unifying.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth a ticket in the CTM board? This might be a good onboarding ticket for a future dev

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'm going to do this in the next PR, it's too small to document and re-explain later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants