diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..898f564e3 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,41 @@ + + +### What problem does this PR solve? + + +Issue Number: close #xxx + +### What is changed and how it works? + +### Check List + +#### Tests + +- Unit test +- Integration test +- Manual test (add detailed scripts or steps below) +- No code + +#### Questions + +##### Will it cause performance regression or break compatibility? + +##### Do you need to update user documentation, design documentation or monitoring documentation? + +### Release note + +```release-note +Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note. + +If you don't think this PR needs a release note then fill it with `None`. +``` diff --git a/.github/workflows/check_and_build.yaml b/.github/workflows/check_and_build.yaml index a4c4879bb..7011755f1 100644 --- a/.github/workflows/check_and_build.yaml +++ b/.github/workflows/check_and_build.yaml @@ -12,6 +12,7 @@ on: - 'OWNERS_ALIASES' pull_request: + types: [opened, synchronize, reopened, ready_for_review] branches: - master - "release-[0-9].[0-9]*" diff --git a/.github/workflows/integration_test_mysql.yaml b/.github/workflows/integration_test_mysql.yaml index cdd8573a1..7666cbe6a 100644 --- a/.github/workflows/integration_test_mysql.yaml +++ b/.github/workflows/integration_test_mysql.yaml @@ -12,6 +12,7 @@ on: - 'OWNERS_ALIASES' pull_request: + types: [opened, synchronize, reopened, ready_for_review] branches: - master - "release-[0-9].[0-9]*" @@ -30,7 +31,7 @@ jobs: # To boost the test speed, we split every 10 test cases into a group. e2e_test_group_1: runs-on: ubuntu-latest - name: E2E Test + name: E2E Test Group 1 steps: - name: Check out code uses: actions/checkout@v2 @@ -82,6 +83,12 @@ jobs: run: | export TICDC_NEWARCH=true && make integration_test CASE=foreign_key + # The 7th case in this group + - name: Test generate_column + if: ${{ success() }} + run: | + export TICDC_NEWARCH=true && make integration_test CASE=generate_column + - name: Upload test logs if: always() uses: ./.github/actions/upload-test-logs diff --git a/.github/workflows/uint_test.yaml b/.github/workflows/uint_test.yaml index d4ee537cd..0173ff6fa 100644 --- a/.github/workflows/uint_test.yaml +++ b/.github/workflows/uint_test.yaml @@ -12,6 +12,7 @@ on: - 'OWNERS_ALIASES' pull_request: + types: [opened, synchronize, reopened, ready_for_review] branches: - master - "release-[0-9].[0-9]*" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..788219a61 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,81 @@ +# How to contribute + +This document outlines some of the conventions on development workflow, commit +message formatting, contact points and other resources to make it easier to get +your contribution accepted. + +## Get started + +- Fork the repository on GitHub. +- Read the README.md for build instructions. +- Play with the project, submit bugs, submit patches! + +## Build TiCDC + +Developing TiCDC requires: + +* [Go 1.23+](https://go.dev/doc/code) +* An internet connection to download the dependencies + +Simply run `make cdc` to build the program. + +```sh +make cdc +``` + +### Run tests + +TODO + +### Update dependencies + +TiCDC uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependencies. To add or update a dependency: use the `go mod edit` command to change the dependency. + +## Contribution flow + +This is a rough outline of what a contributor's workflow looks like: + +- Create a topic branch from where you want to base your work. This is usually `master`. +- Make commits of logical units and add test case if the change fixes a bug or adds new functionality. +- Run tests and make sure all the tests are passed. +- Make sure your commit messages are in the proper format (see below). +- Push your changes to a topic branch in your fork of the repository. +- Submit a pull request. +- Your PR must receive LGTMs from two maintainers. + +Thanks for your contributions! + +### Code style + +The coding style suggested by the Golang community is used in TiCDC. See the [style doc](https://github.com/golang/go/wiki/CodeReviewComments) for details. + +Please follow this style to make TiCDC easy to review, maintain and develop. + +### Commit message format + +We follow a rough convention for commit messages that is designed to answer two +questions: what changed and why. The subject line should feature the what and +the body of the commit should describe the why. + +```shell +maintainer: add comment for variable declaration + +Improve documentation. +``` + +The format can be described more formally as follows: + +```shell +: + + + +