Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ name: CI Pipeline
on:
pull_request:
branches:
- dev
- main
paths-ignore:
- '**/*.md'
Expand Down Expand Up @@ -103,14 +102,8 @@ jobs:
- name: Install dependencies
run: npm ci

# Build for dev branch (development config)
- name: Build for development
if: github.base_ref == 'dev'
run: npm run build -- --configuration development

# Build for main branch (production config)
# Always build for production config for PRs to main
- name: Build for production
if: github.base_ref == 'main'
run: npm run build -- --configuration production

- name: Verify build output
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/docker-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ name: Docker CI
on:
pull_request:
branches:
- dev
- main
push:
branches:
Expand Down
20 changes: 20 additions & 0 deletions .versionrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"types": [
{ "type": "feat", "section": "✨ Features" },
{ "type": "fix", "section": "πŸ› Bug Fixes" },
{ "type": "chore", "section": "πŸ”§ Chores", "hidden": false },
{ "type": "docs", "section": "πŸ“š Documentation", "hidden": false },
{ "type": "style", "section": "πŸ’Ž Styles", "hidden": true },
{ "type": "refactor", "section": "♻️ Code Refactoring", "hidden": false },
{ "type": "perf", "section": "⚑ Performance Improvements", "hidden": false },
{ "type": "test", "section": "βœ… Tests", "hidden": false },
{ "type": "build", "section": "πŸ”¨ Build System", "hidden": false },
{ "type": "ci", "section": "πŸ‘· CI/CD", "hidden": false }
],
"commitUrlFormat": "https://github.com/victorbruce/angular-starter-project/commit/{{hash}}",
"compareUrlFormat": "https://github.com/victorbruce/angular-starter-project/compare/{{previousTag}}...{{currentTag}}",
"issueUrlFormat": "https://github.com/victorbruce/angular-starter-project/issues/{{id}}",
"userUrlFormat": "https://github.com/{{user}}",
"releaseCommitMessageFormat": "chore(release): {{currentTag}}",
"issuePrefixes": ["#"]
}
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [1.0.0](https://github.com/victorbruce/angular-starter-project/releases/tag/v1.0.0) (2024-12-22)

### ✨ Features

- **ci**: implement Docker CI/CD pipeline
- **ci**: add automated deployment to Render
- **docker**: dockerize Angular application with multi-stage builds
- **docker**: add docker-compose for local development
- **config**: setup branch protection rules

### πŸ“š Documentation

- add comprehensive README with Docker and CI/CD guides
- create setup instructions for new developers

### πŸ”¨ Build System

- configure GitHub Actions workflows
- setup ESLint and Prettier
- add Husky pre-commit hooks

---

**This is the initial production release with full CI/CD automation.**
97 changes: 97 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Live Demo: [View Application](https://angular-starter-project.onrender.com)
- [πŸš€ Deployment](#-deployment)
- [🀝 Team Onboarding](#-team-onboarding)
- [πŸ‘€ Author](#-author)
- [πŸ“¦ Releases & Versioning](#releases-&-versioning)

---

Expand Down Expand Up @@ -547,6 +548,102 @@ MIT License - feel free to use this for personal or commercial projects!

---

## πŸ“¦ Releases & Versioning

This project uses [Semantic Versioning](https://semver.org/) and automated releases with [standard-version](https://github.com/conventional-changelog/standard-version).

### Branching Strategy

**Simple Git Flow:**

```
main (protected, production releases)
↓
feature branches (development work)
```

**Workflow:**

1. Create feature branch from `main`
2. Develop and commit using [Conventional Commits](https://www.conventionalcommits.org/)
3. Create PR to `main`
4. After merge, automated release via standard-version

### Version Format

- **MAJOR** (v2.0.0): Breaking changes
- **MINOR** (v1.1.0): New features (backward compatible)
- **PATCH** (v1.0.1): Bug fixes

### Release Process

```bash
# After merging PR to main
git checkout main
git pull origin main

# Automatic version bump based on conventional commits
npm run release

# Or specify version type explicitly
npm run release:minor # New feature
npm run release:major # Breaking change
npm run release:patch # Bug fix

# Push release with tags
git push --follow-tags origin main
```

### Conventional Commits

We use [Conventional Commits](https://www.conventionalcommits.org/) for automatic versioning:

```bash
feat: new feature β†’ MINOR version bump (1.0.0 β†’ 1.1.0)
fix: bug fix β†’ PATCH version bump (1.0.0 β†’ 1.0.1)
feat!: breaking change β†’ MAJOR version bump (1.0.0 β†’ 2.0.0)

# Examples:
feat: add Angular Material
fix: resolve Docker build issue
feat!: upgrade to Angular 21

BREAKING CHANGE: Requires Node.js 22+
```

### Changelog

All releases are documented in [CHANGELOG.md](CHANGELOG.md) with:

- Version number and date
- Features, fixes, and changes grouped by type
- Links to commits and version comparisons
- Automatically generated from commit messages

### Creating a New Feature

```bash
# Start from main
git checkout main
git pull origin main

# Create feature branch
git checkout -b feat/my-new-feature

# Make changes and commit
git add .
git commit -m "feat: add my new feature"

# Push and create PR
git push origin feat/my-new-feature

# After PR approved and merged:
# - Maintainer runs npm run release on main
# - Version automatically bumped
# - CHANGELOG automatically updated
# - Git tag automatically created
```

## 🌟 Contributing

For intstructions on contributing, [click here](./CONTRIBUTING.md)
Loading
Loading