Skip to content

Commit 924ad98

Browse files
authored
change from automated versioning to release workflow (#913)
1 parent bdc28b5 commit 924ad98

7 files changed

Lines changed: 41 additions & 93 deletions

File tree

.github/pull_request_template.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
<!-- Title must follow Conventional Commits: <type>: <Verb> <subject> — e.g. "feat: Add searchbar component" -->
2-
<!-- Types: feat | fix | perf | refactor | docs | chore | test — see CONTRIBUTING.md -->
3-
41
**What was done:**
52

63
**Why:**

.github/workflows/github-pages.yml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,23 @@
11
name: Build and Deploy
22
on:
3-
workflow_run:
4-
workflows: ["Create Release Tag"]
5-
types:
6-
- completed
3+
push:
74
branches:
85
- main
6+
- develop
97
permissions:
108
contents: write
119
jobs:
1210
build-and-deploy:
1311
concurrency: ci-${{ github.ref }}
1412
runs-on: ubuntu-latest
15-
if: ${{ github.event.workflow_run.conclusion == 'success' }}
1613
steps:
1714
- name: Checkout
1815
uses: actions/checkout@v6
19-
with:
20-
fetch-depth: 0
21-
22-
- name: Extract version from latest tag
23-
run: |
24-
git fetch --tags
25-
VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//')
26-
echo "APP_VERSION=$VERSION" >> $GITHUB_ENV
2716

2817
- name: Install and Build
2918
env:
3019
USE_META_CONFIGURATOR_BASE_PATH: true # Set to true for GitHub Pages deployment
3120
VITE_FRONTEND_HOSTNAME: https://metaconfigurator.github.io/meta-configurator
32-
VITE_APP_VERSION: ${{ env.APP_VERSION }}
3321
run: |
3422
cd meta_configurator
3523
npm ci

.github/workflows/pr-title-check.yml

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

.github/workflows/semantic-versioning.yml

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

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Changelog
2+
3+
All notable changes to MetaConfigurator will be documented in this file.
4+
This changelog begins with version 2.1.0, the release from which semantic versioning was formally adopted.
5+
6+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
7+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8+
9+
---
10+
11+
## [2.1.0] - 2026-03-25
12+
13+
Initial versioned release. Introduces semantic versioning, a structured branching model (`develop` / `main`), and contribution guidelines.

CONTRIBUTING.md

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ Welcome to the MetaConfigurator project! We appreciate your interest in contribu
44

55
---
66

7-
## Team Members (with repository access)
7+
## Branching Model
8+
9+
- **`develop`** — the default branch. All feature branches are created from here and all PRs target here.
10+
- **`main`** — stable releases only. Updated manually by a maintainer when a set of changes is deemed stable, together with a version bump and changelog entry.
11+
12+
---
813

9-
If you are part of the core team and have direct write access to the repository, follow this workflow:
14+
## Team Members (with repository access)
1015

1116
### 1. Start with a GitHub Issue
1217

@@ -16,7 +21,7 @@ If no issue exists yet, create one. If one exists, assign yourself to it or ask
1621
### 2. Create a Branch from the Issue
1722

1823
Create a branch directly from the GitHub issue (using the "Create a branch" link on the issue page).
19-
This automatically links the branch to the issue.
24+
This automatically links the branch to the issue and bases it on `develop`.
2025
Branch names follow the pattern `<issue-number>-short-description`, e.g. `123-add-searchbar`.
2126

2227
### 3. Develop Locally
@@ -32,15 +37,13 @@ See [documentation_developer/README.md](documentation_developer/README.md) for s
3237

3338
### 4. Open a Pull Request
3439

35-
When the work is complete, open a Pull Request and request a review.
40+
When the work is complete, open a Pull Request targeting `develop` and request a review.
3641
You can optionally open a **Draft Pull Request** earlier during development — this lets others follow along and give early feedback without a formal review being requested.
3742

3843
---
3944

4045
## External Contributors (without repository access)
4146

42-
If you are not part of the core team, you will need to fork the repository.
43-
4447
### 1. Find or Create an Issue
4548

4649
Check the existing issues before starting. If none covers your idea, open one.
@@ -63,40 +66,41 @@ git remote add upstream https://github.com/MetaConfigurator/meta-configurator.gi
6366

6467
### 3. Create a Feature Branch
6568

66-
Never work directly on `main`. Create a branch for your change:
69+
Never work directly on `develop` or `main`. Create a branch from `develop`:
6770

6871
```sh
72+
git checkout develop
6973
git checkout -b <issue-number>-short-description
7074
```
7175

7276
### 4. Open a Pull Request
7377

74-
When your work is complete, open a Pull Request against the upstream `main` branch and request a review.
78+
When your work is complete, open a Pull Request against the upstream `develop` branch and request a review.
7579
You can optionally open a **Draft Pull Request** earlier during development to get early feedback from maintainers.
7680

7781
---
7882

83+
## Commit Messages
84+
85+
No specific format is enforced, but commit messages should start with a verb and clearly describe what was done — e.g. `Add validation for empty schema`. This helps reviewers follow your work in the PR.
86+
87+
---
88+
7989
## Pull Request Guidelines
8090

81-
- **Title:** Must follow the [Conventional Commits](https://www.conventionalcommits.org/) format — `<type>: <Verb> <subject>` — e.g. `feat: Add searchbar component`. This is required because the PR title is used as the squash merge commit message on `main`, from which the CI/CD pipeline automatically determines the semantic version bump and creates a release tag.
91+
- **Title:** Start with a verb and describe what was done — e.g. `Add searchbar component`.
8292
- **Description:** Always explain **why** the change is needed, not just what was changed. Link the related issue.
8393
- **Scope:** Keep PRs focused on a single concern. Smaller PRs are reviewed faster and merged sooner.
8494
- **Discussion:** PRs are the primary place for code review discussion. Use inline comments and the general PR thread to ask questions and suggest improvements.
8595

86-
**PR title type prefixes and their effect on versioning:**
96+
---
8797

88-
| Prefix | Description | Version bump |
89-
|---|---|---|
90-
| `feat:` | A new feature | Minor (`x.Y.0`) |
91-
| `fix:` | A bug fix | Patch (`x.y.Z`) |
92-
| `perf:` | A performance improvement | Patch |
93-
| `refactor:` | Code restructuring without behavior change | Patch |
94-
| `docs:` | Documentation only | Patch |
95-
| `chore:` | Build process, dependencies, tooling | Patch |
96-
| `test:` | Adding or fixing tests | Patch |
97-
| `breaking:` | Incompatible API change | Major (`X.0.0`) |
98+
## Releases
9899

99-
PRs are always merged via **squash merge**, so the PR title becomes the single commit message on `main`. Individual commit messages on your branch are not required to follow the Conventional Commits format, but should still start with a verb and clearly describe what was done, e.g. `Add validation for empty schema` — this helps reviewers follow your work in the PR.
100+
Releases are managed manually by maintainers. When a set of changes on `develop` is deemed stable, a maintainer will:
101+
1. Update the version in `meta_configurator/package.json`
102+
2. Add a changelog entry
103+
3. Merge `develop` into `main`
100104

101105
---
102106

meta_configurator/vite.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const useMetaConfiguratorBasePath = process.env.USE_META_CONFIGURATOR_BASE_PATH
1616
export default defineConfig({
1717
base: useMetaConfiguratorBasePath ? '/meta-configurator/' : '/',
1818
define: {
19-
__APP_VERSION__: JSON.stringify(process.env.VITE_APP_VERSION || pkg.version),
19+
__APP_VERSION__: JSON.stringify(pkg.version),
2020
},
2121
plugins: [vue(), vueJsx(),
2222

0 commit comments

Comments
 (0)