Skip to content

YAML anchors not recognized in actions/hassfest, but working in core/hassfest #131

@rikroe

Description

@rikroe

Running actions/hassfest in my custom component's CI fails with a message regarding YAML anchors:

Integration eurotronic_cometblue - /github/workspace/custom_components/eurotronic_cometblue:
Error: R] [SERVICES] Invalid services.yaml: invalid slug .day_field (try day_field) @ data['.day_field']. Got {'example': 'start1: 07:00:00\nend1: 09:00:00\nstart2: 10:00:00\nend2: 12:00:00\nstart3: 13:00:00\nend3: 17:00:00\nstart4: 20:00:00\nend4: 23:00:00\n', 'required': False, 'selector': {'object': None}}
invalid slug .target_selector (try target_selector) @ data['.target_selector']. Got {'entity': {'domain': 'climate', 'integration': 'eurotronic_cometblue'}}

The file is written similar to core/components/light/services.yaml and does pass hassfest validation if running from inside a core dev environment.

(venv) richard@DESKTOP-VSO0A1F:~/home-assistant-core$ git pull --rebase upstream dev
remote: Enumerating objects: 646, done.
remote: Counting objects: 100% (419/419), done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 646 (delta 339), reused 296 (delta 296), pack-reused 227 (from 2)
Receiving objects: 100% (646/646), 653.98 KiB | 13.91 MiB/s, done.
Resolving deltas: 100% (413/413), completed with 115 local objects.
From https://github.com/home-assistant/core
 * branch                    dev        -> FETCH_HEAD
   281f439bc95..c037dad0935  dev        -> upstream/dev
Successfully rebased and updated refs/heads/eurotronic-cometblue.
(venv) richard@DESKTOP-VSO0A1F:~/home-assistant-core$ python -m script.hassfest --integration-path homeassistant/components/eurotronic_cometblue/
Validating application_credentials... done in 0.01s
Validating bluetooth... done in 0.01s
Validating codeowners... done in 0.00s
Validating conditions... done in 0.00s
Validating config_schema... done in 0.00s
Validating dependencies... done in 0.28s
Validating dhcp... done in 0.01s
Validating icons... done in 0.00s
Validating integration_info... done in 0.00s
Validating json... done in 0.00s
Validating labs... done in 0.00s
Validating manifest... done in 0.00s
Validating mqtt... done in 0.00s
Validating quality_scale... done in 0.00s
Validating requirements... done in 0.00s
Validating services... done in 0.00s
Validating ssdp... done in 0.00s
Validating translations... done in 0.00s
Validating triggers... done in 0.00s
Validating usb... done in 0.00s
Validating zeroconf... done in 0.00s
Validating config_flow... done in 0.00s

Integrations: 1
Invalid integrations: 0

Do you have an idea what causes this? Or are YAML anchors disencouraged, even if used from in core components?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions