Skip to content

Commit d814853

Browse files
committed
feat: implement Release Please workflow and update configuration
1 parent 1347782 commit d814853

File tree

8 files changed

+523
-77
lines changed

8 files changed

+523
-77
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
- name: Run Release Please
17+
uses: googleapis/release-please-action@v4
18+
with:
19+
# The GitHub token for creating releases and pull requests
20+
token: ${{ secrets.GITHUB_TOKEN }}
21+
22+
# Path to release-please-config.json
23+
config-file: release-please-config.json
24+
25+
# Path to .release-please-manifest.json
26+
manifest-file: .release-please-manifest.json

.github/workflows/release.yml

Lines changed: 0 additions & 76 deletions
This file was deleted.

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.3.1"
3+
}

CONTRIBUTING.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,71 @@ We appreciate your interest in contributing to MageForge! Please follow the guid
1111

1212
---
1313

14+
## Commit Message Guidelines
15+
16+
We use [Conventional Commits](https://www.conventionalcommits.org/) for automated changelog generation and semantic versioning via [Release Please](https://github.com/googleapis/release-please).
17+
18+
### For Contributors (Pull Requests)
19+
20+
**PR Title Format** (Required): Your PR title **must** follow Conventional Commits format:
21+
22+
```
23+
<type>: <description>
24+
25+
Examples:
26+
✅ feat: add Hyvä compatibility check command
27+
✅ fix: resolve npm installation issue
28+
✅ docs: update README with new examples
29+
✅ refactor: simplify theme builder logic
30+
✅ perf: optimize static file cleaning
31+
32+
❌ Add new feature (missing type)
33+
❌ Fixed bug (missing colon)
34+
```
35+
36+
**Commit Types**:
37+
- `feat:` - New feature (minor version bump: 0.3.0 → 0.4.0)
38+
- `fix:` - Bug fix (patch version bump: 0.3.0 → 0.3.1)
39+
- `refactor:` - Code refactoring (no version bump by default)
40+
- `docs:` - Documentation updates (patch version bump)
41+
- `perf:` - Performance improvements (patch version bump)
42+
- `style:` - Code style changes (no version bump)
43+
- `test:` - Test updates (no version bump)
44+
- `chore:` - Maintenance tasks (no version bump)
45+
46+
**Breaking Changes**: Add `!` after the type for major version bumps:
47+
```
48+
feat!: remove legacy theme builder API
49+
fix!: change command argument order
50+
```
51+
52+
**Individual Commits**: Your individual commits within the PR can use any format you prefer. We use **squash-merge**, so only the PR title becomes the commit message in the `main` branch.
53+
54+
### For Maintainers (Direct Commits)
55+
56+
When committing directly to `main` (e.g., hotfixes, urgent documentation updates), **all commits must follow Conventional Commits format**:
57+
58+
```bash
59+
# Hotfix example
60+
git commit -m "fix: resolve critical security vulnerability in npm dependencies"
61+
62+
# Documentation update
63+
git commit -m "docs: add troubleshooting section to releases.md"
64+
65+
# Chore example
66+
git commit -m "chore: update GitHub Actions to latest versions"
67+
```
68+
69+
### Merge Strategy
70+
71+
All pull requests are merged using **squash-merge** to maintain a clean, linear git history. This means:
72+
- ✅ Only one commit per PR in `main` branch
73+
- ✅ PR title becomes the commit message
74+
- ✅ All PR commits are squashed into a single commit
75+
- ✅ Easier to follow project history and revert changes if needed
76+
77+
---
78+
1479
## Coding Standards
1580

1681
- **Magento Coding Standards**: Adhere to the Magento Coding Standards throughout your code.

README.md

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

33
![Mageforge Hero](./.github/assets/mageforge-hero.jpg)
44

5-
[![CodeFactor](https://www.codefactor.io/repository/github/openforgeproject/mageforge/badge)](https://www.codefactor.io/repository/github/openforgeproject/mageforge) [![Magento Compatibility Test](https://github.com/OpenForgeProject/mageforge/actions/workflows/magento-compatibility.yml/badge.svg)](https://github.com/OpenForgeProject/mageforge/actions/workflows/magento-compatibility.yml)
5+
[![Release](https://img.shields.io/github/v/release/OpenForgeProject/mageforge)](https://github.com/OpenForgeProject/mageforge/releases) [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](LICENSE) [![CodeFactor](https://www.codefactor.io/repository/github/openforgeproject/mageforge/badge)](https://www.codefactor.io/repository/github/openforgeproject/mageforge) [![Magento Compatibility Test](https://github.com/OpenForgeProject/mageforge/actions/workflows/magento-compatibility.yml/badge.svg)](https://github.com/OpenForgeProject/mageforge/actions/workflows/magento-compatibility.yml)
6+
67

78
MageForge is a powerful CLI front-end development toolkit for Magento 2 that simplifies theme development workflows. It provides tools for many types of Magento themes and can be easily extended for your custom theme. With MageForge, themes can be built lightning fast, without your developers having to worry about the details. MageForge eliminates complex configuration requirements and significantly reduces setup time, allowing Magento developers to focus on creative aspects instead of struggling with build processes.
89

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "openforgeproject/mageforge",
33
"description": "Magento 2 module for frontend wizardry~",
4+
"version": "0.3.1",
45
"license": "GPL-3.0",
56
"type": "magento2-module",
67
"autoload": {

0 commit comments

Comments
 (0)