CEIE (v2.0)
CEIE 2.0 is delivered as an npm package that provides the core automation engine for version management and CI/CD workflows. It leverages semantic versioning and conventional commit conventions to automate release processes, generate changelogs, and integrate with external CI/CD platforms.
Prerequisites
- Node.js: Version 14.x or higher
- npm: Version 6.x or higher
- Semantic Commit Conventions: Commit messages must follow Conventional Commits.
- Git Repository: Initialized and configured via CEIE 1.0 or equivalent
Installation
npm install -g ceie-automation
Installs the ceie-automation
CLI globally. The CLI exposes commands to initialize
configurations, run release workflows, and manage versions.
Configuration
The core configuration file controls release and automation behavior. Place
ceie.config.yml
in the repository root:
versioning:
strategy: semantic
autoIncrement: true
automation:
triggers:
onPush: true
onPRMerge: true
steps:
- name: Install Dependencies
command: npm ci
- name: Run Tests
command: npm test
- name: Release
command: ceie-automation release
- strategy: Version increment strategy adhering to SemVer 2.0.0
:contentReference[oaicite:1]{index=1}
- triggers: Events that initiate the workflow (push, PR merge)
Conventional Commits & Semantic Versioning
CEIE 2.0 parses commit messages to determine version bumps:
feat:
→ Minor version incrementfix:
→ Patch version incrementBREAKING CHANGE:
→ Major version increment
This follows the Conventional Commits specification and SemVer rules for automated version determination.
CLI Commands
-
ceie-automation init
Generates a templateceie.config.yml
with default settings. -
ceie-automation run
Executes the defined workflow steps in sequence. -
ceie-automation release
Performs version calculation, generates changelog, creates Git tag, and publishes release artifacts. -
ceie-automation status
Displays current version, pending changes, and last release metadata.
Release Workflow
A typical release workflow with CEIE 2.0 includes:
- Commit changes using Conventional Commits.
- Push to a protected branch (e.g.,
main
). - CI system invokes
ceie-automation run
. - Tests and lint checks execute.
ceie-automation release
determines next version, updates changelog, and creates a Git tag.- Package is published and release notes are generated.
This process mirrors industry best practices for automated release pipelines.
Integration Examples
GitHub Actions:
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '16'
- run: npm ci
- run: ceie-automation run --config ceie.config.yml
Troubleshooting
- “Invalid commit message”: Ensure commits follow Conventional Commits format.
-
“No version changes detected”:
Confirm that new commits include valid
feat:
,fix:
, orBREAKING CHANGE:
tags. - Workflow failures: Review step logs and verify that all specified commands execute successfully in the CI environment.
Best Practices
- Enforce commit message linting (e.g., with
commitlint
and Husky). - Protect release branches and require pull-request reviews.
- Use isolated environments for build and test steps to ensure reproducibility.
- Regularly update CEIE CLI to incorporate new fixes and features.
CEIE 2.0 provides a turnkey solution for automating versioning and releases, enabling teams to adopt a standardized, reliable CI/CD workflow.