diff --git a/wa/framework/configuration/core.py b/wa/framework/configuration/core.py index 93db1b53..f5111fde 100644 --- a/wa/framework/configuration/core.py +++ b/wa/framework/configuration/core.py @@ -869,7 +869,7 @@ class JobSpec(Configuration): self.runtime_parameters = target_manager.merge_runtime_parameters(runtime_parameters) def finalize(self): - self.id = "-".join([source.config['id'] + self.id = "-".join([str(source.config['id']) for source in self._sources[1:]]) # ignore first id, "global" # ensure *_parameters are always obj_dict's diff --git a/wa/framework/configuration/parsers.py b/wa/framework/configuration/parsers.py index de45611d..3ed801b8 100644 --- a/wa/framework/configuration/parsers.py +++ b/wa/framework/configuration/parsers.py @@ -322,6 +322,7 @@ def _construct_valid_entry(raw, seen_ids, prefix, jobs_config): def _collect_valid_id(entry_id, seen_ids, entry_type): if entry_id is None: return + entry_id = str(entry_id) if entry_id in seen_ids: raise ConfigError('Duplicate {} ID "{}".'.format(entry_type, entry_id)) # "-" is reserved for joining section and workload IDs