Skip to content

Latest commit

 

History

History
122 lines (91 loc) · 2.6 KB

CONTRIBUTING.md

File metadata and controls

122 lines (91 loc) · 2.6 KB

Contributing to the ZenML Terraform Provider

Thank you for your interest in contributing to the ZenML Terraform Provider! This document provides guidelines and instructions for contributing.

Development Requirements

Setting Up Development Environment

In general, we follow the "fork-and-pull" Git workflow

  1. Fork the repository and clone your fork:
git clone [email protected]:YOUR_USERNAME/terraform-provider-zenml.git
cd terraform-provider-zenml
  1. Add the upstream remote:
git remote add upstream [email protected]:zenml-io/terraform-provider-zenml.git
  1. Check out the main branch:
git checkout main
  1. Install dependencies:
go mod download

Making Changes

  1. Create a new branch for your changes (off the main branch):
git checkout main
git pull
git checkout -b feature/your-feature-name
  1. Make your changes and ensure tests pass:
make test
make testacc
  1. Update documentation if needed:
make docs
  1. Commit your changes:
git add .
git commit -m "Description of your changes"

Pull Request Process

  1. Update your branch with the latest upstream changes:
git fetch upstream
git rebase upstream/main
  1. Push your changes:
git push origin feature/your-feature-name
  1. Create a pull request through the GitHub UI.

  2. Ensure your PR includes:

    • A clear description of the changes
    • Any updates to documentation
    • Tests for new functionality
    • All existing tests passing

Running Tests

Unit Tests

make test

Acceptance Tests

export ZENML_SERVER_URL="your-test-server"
export ZENML_API_KEY="your-test-key"
make testacc

Documentation

  • Update the README.md if you're changing user-facing functionality
  • Update or add documentation in the docs/ directory
  • Add examples for new features in the examples/ directory

Release Process

Releases are automated through GitHub Actions when a new tag is pushed:

  1. Update version in Makefile and provider version
  2. Create and push a new tag:
git tag v1.0.0
git push origin v1.0.0

Getting Help

  • Open an issue for bug reports or feature requests
  • Join the ZenML Slack community for discussions
  • Check existing documentation and issues before starting work

Code of Conduct

Please be respectful of others and follow our Code of Conduct.