distributable:
  url: https://github.com/geekan/MetaGPT/archive/v{{version}}.tar.gz
  strip-components: 1

display-name: MetaGPT

versions:
  github: geekan/MetaGPT

dependencies:
  pkgx.sh: ^1
  git-scm.org: ^2 # v0.7.0 requires it

build:
  dependencies:
    # Python 3.12 ==> ModuleNotFoundError: No module named 'distutils'
    python.org: '>=3.9<3.12'
  script:
    - bkpyvenv stage {{prefix}} {{version}}
    - ${{prefix}}/venv/bin/pip install .
    - bkpyvenv seal {{prefix}} metagpt

provides:
  - bin/metagpt

test:
  env:
    OPENAI_API_KEY: metaGptTestKey
    OPENAI_API_MODEL: gpt-4-1106-preview
  dependencies:
    gnu.org/coreutils: '*'
  script:
    # starting with 0.7.0, it uses a config file instead of env vars
    - run: install -D $FIXTURE ~/.metagpt/config2.yaml
      fixture: |
        llm:
          api_key: "metaGptTestKey"
          model: "gpt-4-1106-preview"  # or gpt-3.5-turbo-1106 / gpt-4-1106-preview
      if: '>=0.7.0'

    # for more tests we need to set valid OPENAI_API_KEY with gpt-4 access
    # the tag line got less cool after 0.6.0...
    - metagpt --help | grep -E '(Run a startup. Be a boss.|Start a new project.)'
