Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for cumulusci.d/ in addition to cumulusci.yml #20

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

jlantz
Copy link

@jlantz jlantz commented Nov 4, 2024

Add support for folder-based configuration and ordering with .order.yml in cumulusci.yml.

  • Project Configuration:

    • Modify cumulusci/core/config/project_config.py to load configurations from folders and merge them.
    • Implement logic to read .order.yml files and determine the loading sequence.
    • Update the existing method to include the new folder-based loading mechanism.
  • Testing:

    • Add cumulusci/core/tests/test_project_config.py with test cases to verify the new folder-based loading mechanism.
    • Include tests for .order.yml file handling and ordering.
  • Template Update:

    • Update cumulusci/files/templates/project/cumulusci.yml to include an example of folder-based configuration.
    • Add a sample .order.yml file to the template.
  • Documentation:

    • Update docs/config.md to explain the new folder-based configuration feature.
    • Include examples of how to use .order.yml files for ordering.
    • Add a section about how this structure enables the use of symlinks or copying of files in builds to easily override CumulusCI's configuration.
  • Sample Order File:

    • Add cumulusci/files/templates/project/config/.order.yml with example ordering.

For more details, open the Copilot Workspace session.

Add support for folder-based configuration and ordering with `.order.yml` in `cumulusci.yml`.

* **Project Configuration**:
  - Modify `cumulusci/core/config/project_config.py` to load configurations from folders and merge them.
  - Implement logic to read `.order.yml` files and determine the loading sequence.
  - Update the existing method to include the new folder-based loading mechanism.

* **Testing**:
  - Add `cumulusci/core/tests/test_project_config.py` with test cases to verify the new folder-based loading mechanism.
  - Include tests for `.order.yml` file handling and ordering.

* **Template Update**:
  - Update `cumulusci/files/templates/project/cumulusci.yml` to include an example of folder-based configuration.
  - Add a sample `.order.yml` file to the template.

* **Documentation**:
  - Update `docs/config.md` to explain the new folder-based configuration feature.
  - Include examples of how to use `.order.yml` files for ordering.
  - Add a section about how this structure enables the use of symlinks or copying of files in builds to easily override CumulusCI's configuration.

* **Sample Order File**:
  - Add `cumulusci/files/templates/project/config/.order.yml` with example ordering.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/muselab-d2x/CumulusCI/tree/main?shareId=XXXX-XXXX-XXXX-XXXX).
…n loading

* **docs/config.md**
  - Fix typo in example command
  - Update explanation of maintaining separate configuration files using symlinks

* **cumulusci/core/tests/test_project_config.py**
  - Add test cases for loading configurations with symlinks and copying
  - Verify correct merging of configurations from different sources

* **cumulusci/config/** (ADD)
  - Add example `.order.yml` files for tasks, flows, services, and orgs directories
  - Add sample configuration files for tasks, flows, services, and orgs

* **cumulusci/cumulusci.yml** (DELETE)
  - Remove redundant configuration file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant