Thank you for your interest in contributing to the ZenML Terraform Provider! This document provides guidelines and instructions for contributing.
In general, we follow the "fork-and-pull" Git workflow
- Fork the repository and clone your fork:
git clone [email protected]:YOUR_USERNAME/terraform-provider-zenml.git
cd terraform-provider-zenml
- Add the upstream remote:
git remote add upstream [email protected]:zenml-io/terraform-provider-zenml.git
- Check out the main branch:
git checkout main
- Install dependencies:
go mod download
- Create a new branch for your changes (off the main branch):
git checkout main
git pull
git checkout -b feature/your-feature-name
- Make your changes and ensure tests pass:
make test
make testacc
- Update documentation if needed:
make docs
- Commit your changes:
git add .
git commit -m "Description of your changes"
- Update your branch with the latest upstream changes:
git fetch upstream
git rebase upstream/main
- Push your changes:
git push origin feature/your-feature-name
-
Create a pull request through the GitHub UI.
-
Ensure your PR includes:
- A clear description of the changes
- Any updates to documentation
- Tests for new functionality
- All existing tests passing
make test
export ZENML_SERVER_URL="your-test-server"
export ZENML_API_KEY="your-test-key"
make testacc
- 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
Releases are automated through GitHub Actions when a new tag is pushed:
- Update version in Makefile and provider version
- Create and push a new tag:
git tag v1.0.0
git push origin v1.0.0
- Open an issue for bug reports or feature requests
- Join the ZenML Slack community for discussions
- Check existing documentation and issues before starting work
Please be respectful of others and follow our Code of Conduct.