diff --git a/.github/workflows/conventional_commits.yaml b/.github/workflows/conventional_commits.yaml new file mode 100644 index 0000000000..093ba2e79d --- /dev/null +++ b/.github/workflows/conventional_commits.yaml @@ -0,0 +1,43 @@ +name: "Validate PR title" + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + - reopened + +permissions: + pull-requests: read + +jobs: + main: + name: Validate PR title + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + types: | + build + chore + ci + compat + docs + enh + feat + fix + perf + refactor + test + type + scopes: | + data + plotting + bokeh + matplotlib + plotly + ignoreLabels: | + ignore-semantic-pull-request diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml deleted file mode 100644 index 3fcc3ade74..0000000000 --- a/.github/workflows/labels.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: labels -on: - pull_request: - types: [opened, labeled, unlabeled, synchronize] -jobs: - label: - name: Pull Request Labels - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: mheap/github-action-required-labels@v5 - with: - mode: exactly - count: 1 - labels: "type: bug, type: enhancement, type: feature, type: docs, type: maintenance, type: compatibility" diff --git a/doc/developer_guide/index.md b/doc/developer_guide/index.md index d9eba3d95f..6183017313 100644 --- a/doc/developer_guide/index.md +++ b/doc/developer_guide/index.md @@ -181,6 +181,35 @@ pixi run build-pip pixi run build-conda ``` +## Making a pull requests + +Once you have finished your code changes, you are ready to make a pull request. +A pull request is how code from your local repository becomes available to maintainers to review +and then merged into the project. To submit a pull request: + +1. Navigate to your repository on GitHub. +1. Click on the `Compare & pull request` button. +1. You can then look at the commits and file changes to make sure everything looks + okay one last time. +1. Write a descriptive title that includes prefixes. HoloViews uses a convention for title + prefixes. The following prefixes are used: + + * build: Changes that affect the build system + * chore: Changes that are not user-facing + * ci: Changes to CI configuration files and scripts + * compat: Compatibility with upstream packages + * docs: Documentation only changes + * enh: An enhancement to existing feature + * feat: A new feature + * fix: A bug fix + * perf: A code change that improves performance + * refactor: A code change that neither fixes a bug nor adds a feature + * test: Adding missing tests or correcting existing tests + * type: Type annotations + +1. Write a description of your changes in the `Write` tab, and check if everything looks ok in the `Preview` tab. +1. Click `Create Pull Request`. + ## Continuous Integration Every push to the `main` branch or any PR branch on GitHub automatically triggers a test build with [GitHub Actions](https://github.com/features/actions).