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) steps: Ordered list of commands executed in the pipeline

Conventional Commits & Semantic Versioning

CEIE 2.0 parses commit messages to determine version bumps:

  • feat: → Minor version increment
  • fix: → Patch version increment
  • BREAKING CHANGE: → Major version increment

This follows the Conventional Commits specification and SemVer rules for automated version determination.

CLI Commands

  • ceie-automation init Generates a template ceie.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:

  1. Commit changes using Conventional Commits.
  2. Push to a protected branch (e.g., main).
  3. CI system invokes ceie-automation run.
  4. Tests and lint checks execute.
  5. ceie-automation release determines next version, updates changelog, and creates a Git tag.
  6. 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:, or BREAKING 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.