Skip to content

Commit a6f2f0b

Browse files
feat: Add release please support (#9)
1 parent 66e958c commit a6f2f0b

4 files changed

Lines changed: 74 additions & 11 deletions

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Lint PR Title
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- edited
8+
- synchronize
9+
- reopened
10+
11+
12+
permissions:
13+
pull-requests: read
14+
15+
jobs:
16+
main:
17+
name: Validate PR title
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: amannn/action-semantic-pull-request@v5
21+
env:
22+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: google-github-actions/release-please-action@v4
17+
with:
18+
release-type: python

CONTRIBUTING.md

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,44 @@ pytest
5151

5252
If you add new features or fix bugs, please add corresponding tests.
5353

54-
## Submitting a Pull Request (PR)
54+
## Pull Request Process
5555

56-
1. **Create a new branch** for your feature or bug fix:
56+
We use a fully automated release and versioning system. To facilitate this, we require all contributions to follow the **Conventional Commits** standard.
57+
58+
### 1. Prepare Your Branch
59+
* **Create a new branch** for your feature or bug fix:
5760
```bash
5861
git checkout -b feature/my-new-feature
5962
```
6063
*Use a descriptive name, like `fix/issue-number-bug-name` or `feature/new-database-support`.*
61-
2. **Make your changes** and commit them with clear, concise commit messages.
62-
3. **Ensure tests and linters pass** locally.
63-
4. **Push your branch** to your fork on GitHub:
64-
```bash
65-
git push origin feature/my-new-feature
66-
```
67-
5. **Open a Pull Request** against the `main` branch of the upstream repository.
68-
6. Fill out the PR template provided, describing your changes in detail.
64+
* **Make your changes** and commit them with clear, concise messages.
65+
* **Ensure tests and linters pass** locally by running `ruff check .` and `pytest`.
66+
67+
### 2. Submit the Pull Request
68+
* **Push your branch** to your fork on GitHub.
69+
* **Open a Pull Request** against the `main` branch.
70+
* **PR Title:** This is the most critical part. Because we use "Squash and Merge", your PR title becomes the final commit message in the project history and determines the next version number.
71+
72+
#### PR Title Format
73+
`<type>: <description>`
74+
75+
**Common Types:**
76+
* `feat:` A new feature (triggers a **Minor** release)
77+
* `fix:` A bug fix (triggers a **Patch** release)
78+
* `docs:` Documentation only changes
79+
* `chore:` Maintenance tasks, dependency updates, etc.
80+
81+
**Examples:**
82+
*`Added a new login page`
83+
*`feat: add new login page`
84+
*`Fixed the crashing bug`
85+
*`fix: resolve crash on startup`
86+
87+
*Note: If your PR contains multiple changes, name it after the most significant one (e.g., use `feat:` if it includes both a new feature and a fix).*
88+
89+
### 3. Review and Merge
90+
* Fill out the PR template provided, describing your changes in detail.
91+
* Once approved and CI passes, a maintainer will merge your PR.
6992

7093
## Adding Support for New Databases
7194

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[project]
44
name = "dwh2looker"
5-
version = "1.1.1"
5+
version = "0.1.1"
66
description = "Sync your data warehouse tables to Looker"
77
authors = [
88
{name = "Yousef Salhamoud", email = "yousef.saleh@devoteam.com"},

0 commit comments

Comments
 (0)