Skip to content

librarian: Librarian should fail if state.yaml includes duplicate entries #2186

@parthea

Description

@parthea

If the state.yaml looks like the following, everything works fine,

image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator:latest
libraries:
  - id: google-cloud-dlp
    version: 3.32.0
    last_generated_commit: f8776fec04e336527ba7279d960105533a1c4e21
    apis:
      - path: google/privacy/dlp/v2
        service_config: dlp_v2.yaml
    source_roots:
      - packages/google-cloud-dlp
    preserve_regex:
      - some_path
    remove_regex:
      - packages/google-cloud-dlp
    tag_format: '{id}-v{version}'

If you add a duplicate entry for the same id, librarian will provide a malformed generate-request.json file.

Notice how the same id google-cloud-dlp appears twice

image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator:latest
libraries:
  - id: google-cloud-dlp
    version: 3.32.0
    last_generated_commit: f8776fec04e336527ba7279d960105533a1c4e21
    apis:
      - path: google/privacy/dlp/v2
        service_config: dlp_v2.yaml
    source_roots:
      - packages/google-cloud-dlp
    preserve_regex:
      - some_path
    remove_regex:
      - packages/google-cloud-dlp
    tag_format: '{id}-v{version}'
  - id: google-cloud-dlp
    version: 3.32.0
    last_generated_commit: f8776fec04e336527ba7279d960105533a1c4e21
    apis:
      - path: google/privacy/dlp/v2
        service_config: dlp_v2.yaml
    source_roots:
      - packages/google-cloud-dlp
    preserve_regex:
      - some_path
    remove_regex:
      - packages/google-cloud-dlp
    tag_format: '{id}-v{version}'

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions