Skip to content

mepo requires develop key for fixtures #355

@mathomp4

Description

@mathomp4

So this is interesting. Recently, @gmao-rreichle informed me that the release tarfile Github Action in GEOSldas was failing. And it had for the last two releases. The issue is...interesting. I believe it is an unintended bug in mepo. The issue is that the GEOSldas tags (and main) do not have a develop: key in their components.yaml for the fixture.

GEOSldas develop components.yaml:

❯ head -n 3 components.yaml
GEOSldas:
  fixture: true
  develop: develop

GEOSldas main components.yaml:

❯ head -n 3 components.yaml
GEOSldas:
  fixture: true

So when you try to mepo clone GEOSldas main (or any tag):

❯ mepo clone
Found partial clone type [blobless] in .mepoconfig
Traceback (most recent call last):
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/command/clone.py", line 78, in read_state
    allcomps = MepoState.read_state()
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/state.py", line 127, in read_state
    raise StateDoesNotExistError("Error! mepo state does not exist")
mepo.utilities.exceptions.StateDoesNotExistError: Error! mepo state does not exist

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mathomp4/.homebrew/brew/bin/mepo", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/__main__.py", line 15, in main
    cmd_module.run(args)
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/command/clone.py", line 41, in run
    allcomps = read_state(args.style, args.registry)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/command/clone.py", line 81, in read_state
    mepo_init(SimpleNamespace(style=arg_style, registry=registry))
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/command/init.py", line 20, in run
    _ = MepoState.initialize(args.registry, style)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/state.py", line 70, in initialize
    input_components = Registry(project_registry).read_file()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/registry.py", line 51, in read_file
    return getattr(self, "read_" + self.__filetype)()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/registry.py", line 59, in read_yaml
    self.__validate(d)
  File "/Users/mathomp4/.homebrew/brew/Cellar/mepo/2.3.0/libexec/lib/python3.12/site-packages/mepo/registry.py", line 40, in __validate
    assert list(v.keys()) == ["fixture", "develop"]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

I think this is a fairly simple fix...

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions