From d8660759d3fd193427b704eeae8fccae757aed03 Mon Sep 17 00:00:00 2001 From: erinecon Date: Thu, 26 Mar 2026 11:49:53 -0400 Subject: [PATCH] chore(docs): update contributing guidelines (charmkeeper) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/pull_request_template.md | 29 +++++++++++++++ .github/pull_request_template.yaml | 32 ----------------- CONTRIBUTING.md | 57 +++++++++++++++--------------- 3 files changed, 57 insertions(+), 61 deletions(-) create mode 100644 .github/pull_request_template.md delete mode 100644 .github/pull_request_template.yaml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..ccc1e4d --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,29 @@ +#### What this PR does + +#### Why we need it + +#### Checklist + +- [ ] I followed the [contributing guide](https://github.com/canonical/is-charms-contributing-guide) +- [ ] I added or updated the documentation (if applicable) +- [ ] I updated `docs/changelog.md` with user-relevant changes +- [ ] I added a [change artifact](../docs/release-notes/template/docs/release-notes/template/_change-artifact-template.yaml) for user-relevant changes in `docs/release-notes/artifacts`. If no change artifact is necessary, I tagged the PR with the label `no-release-note`. +- [ ] I used AI to assist with preparing this PR +- [ ] I added or updated tests as needed (unit and integration) +- [ ] **If integration test modules are used:** I updated the workflow configuration + (e.g., in `.github/workflows/integration_tests.yaml`, ensure the `modules` list is correct) +- [ ] **If this is a Grafana dashboard:** I added a screenshot of the dashboard +- [ ] **If this is Terraform:** `terraform fmt` passes and `tflint` reports no errors +- [ ] **If this is Rockcraft:** I updated the version + + + diff --git a/.github/pull_request_template.yaml b/.github/pull_request_template.yaml deleted file mode 100644 index ca22bdc..0000000 --- a/.github/pull_request_template.yaml +++ /dev/null @@ -1,32 +0,0 @@ -Applicable spec: - -### Overview - - - -### Rationale - - - -### Juju Events Changes - - - -### Module Changes - - - -### Library Changes - - - -### Checklist - -- [ ] The [charm style guide](https://juju.is/docs/sdk/styleguide) was applied -- [ ] The [contributing guide](https://github.com/canonical/is-charms-contributing-guide) was applied -- [ ] The changes are compliant with [ISD054 - Managing Charm Complexity](https://discourse.charmhub.io/t/specification-isd014-managing-charm-complexity/11619) -- [ ] The documentation for charmhub is updated -- [ ] The PR is tagged with appropriate label (`urgent`, `trivial`, `complex`) -- [ ] The [changelog](../docs/changelog.md) is updated with user-relevant changes in the format of [keep a changelog v1.1.0](https://keepachangelog.com/en/1.1.0/) - - diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7e28c92..f7ebf41 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -This document explains the processes and practices recommended for contributing enhancements to the cloudflared charm. +This document explains the processes and practices recommended for contributing enhancements to the Cloudflared Operator. ## Overview @@ -28,7 +28,7 @@ When contributing, you must abide by the ## Changelog Please ensure that any new feature, fix, or significant change is documented by -adding an entry to the [CHANGELOG.md](./CHANGELOG.md) file. Use the date of the +adding an entry to the [CHANGELOG.md](docs/changelog.md) file. Use the date of the contribution as the header for new entries. To learn more about changelog best practices, visit [Keep a Changelog](https://keepachangelog.com/). @@ -50,35 +50,31 @@ also, reference the issue or bug number when you submit the changes. Your changes will be reviewed in due time; if approved, they will be eventually merged. -### Describing pull requests +### AI -To be properly considered, reviewed and merged, -your pull request must provide the following details: +You are free to use any tools you want while preparing your contribution, including +AI, provided that you do so lawfully and ethically. -- **Title**: Summarize the change in a short, descriptive title. +Avoid using AI to complete issues tagged with the "good first issues" label. The +purpose of these issues is to provide newcomers with opportunities to contribute +to our projects and gain coding skills. Using AI to complete these tasks +undermines their purpose. -- **Overview**: Describe the problem that your pull request solves. - Mention any new features, bug fixes or refactoring. +We have created instructions and tools that you can provide AI while preparing your contribution: [`copilot-collections`](https://github.com/canonical/copilot-collections) -- **Rationale**: Explain why the change is needed. +While it isn't necessary to use `copilot-collections` while preparing your +contribution, these files contain details about our quality standards and +practices that will help the AI avoid common pitfalls when interacting with +our projects. By using these tools, you can avoid longer review times and nitpicks. -- **Juju Events Changes**: Describe any changes made to Juju events, or - "None" if the pull request does not change any Juju events. +If you choose to use AI, please disclose this information to us by indicating +AI usage in the PR description (for instance, marking the checklist item about +AI usage). You don't need to go into explicit details about how and where you used AI. -- **Module Changes**: Describe any changes made to the module, or "None" - if your pull request does not change the module. - -- **Library Changes**: Describe any changes made to the library, - or "None" is the library is not affected. - -- **Checklist**: Complete the following items: - - - The [charm style guide](https://documentation.ubuntu.com/juju/3.6/reference/charm/charm-development-best-practices/) was applied - - The [contributing guide](https://github.com/canonical/is-charms-contributing-guide) was applied - - The changes are compliant with [ISD054 - Managing Charm Complexity](https://discourse.charmhub.io/t/specification-isd014-managing-charm-complexity/11619) - - The documentation is updated - - The PR is tagged with appropriate label (trivial, senior-review-required) - - The changelog has been updated +Avoid submitting contributions that you don't fully understand. +You are responsible for the entire contribution, including the AI-assisted portions. +You must be willing to engage in discussion and respond to any questions, comments, +or suggestions we may have. ### Signing commits @@ -88,7 +84,7 @@ we use the [Canonical contributor license agreement](https://assets.ubuntu.com/v #### Canonical contributor agreement -Canonical welcomes contributions to the cloudflared charm. Please check out our +Canonical welcomes contributions to the Cloudflared Operator. Please check out our [contributor agreement](https://ubuntu.com/legal/contributors) if you're interested in contributing to the solution. The CLA sign-off is simple line at the @@ -104,7 +100,7 @@ To add signatures on your commits, follow the ## Develop To make contributions to this charm, you'll need a working -[development setup](https://documentation.ubuntu.com/juju/latest/user/howto/manage-your-deployment/manage-your-deployment-environment/). +[development setup](https://documentation.ubuntu.com/juju/latest/howto/manage-your-juju-deployment/set-up-your-juju-deployment-local-testing-and-development/). The code for this charm can be downloaded as follows: @@ -150,7 +146,7 @@ that can be used for linting and formatting code when you're preparing contribut ### Build the rock and charm Use [Rockcraft](https://documentation.ubuntu.com/rockcraft/stable/) to create an -OCI image for the cloudflared app, and then upload the image to a MicroK8s registry, +OCI image for the Cloudflared app, and then upload the image to a MicroK8s registry, which stores OCI archives so they can be downloaded and deployed. Enable the MicroK8s registry: @@ -182,5 +178,8 @@ juju add-model charm-dev # Enable DEBUG logging juju model-config logging-config="=INFO;unit=DEBUG" # Deploy the charm -juju deploy ./cloudflared*.charm +juju deploy ./cloudflared*.charm ``` + + +