Skip to main content

Auto-Compile and Auto-Tag Packages

Maintain clean version control, eliminate manual steps, and ensure every component build is traceable, taggable, and deployable โ€” all without leaving JCB

What It Does

When you enable auto-compile and auto-tagging, JCB will:

  • Detect changes to your component blueprint
  • Trigger a fresh compilation of the component (ZIP, codebase, changelog, etc.)
  • Generate or increment a version number (e.g. v1.2.3 โ†’ v1.2.4)
  • Create a Git tag for the new version
  • Optionally push the package and metadata to your selected Git repository

This turns your component development process into a lightweight CI pipeline โ€” no manual ZIP building or tagging needed.

Key Features

  • โš™๏ธ Build Trigger
    A new compilation is initiated when:
    • A commit is made to the blueprint
    • A Git push occurs with the โ€œauto-compileโ€ flag
    • A CLI command (or webhook) calls the compiler
  • ๐Ÿ”– Semantic Versioning
    Auto-tagging follows semver conventions by default:
    • Patch: Bugfix or minor changes โ†’ 1.2.3 โ†’ 1.2.4
    • Minor: New features โ†’ 1.2.3 โ†’ 1.3.0
    • Major: Breaking change โ†’ 1.2.3 โ†’ 2.0.0
    You can override or enforce version increments manually or via blueprint settings.
  • ๐Ÿ“ƒ Auto-Changelog
    When auto-tagging is enabled, JCB optionally includes a changelog generated from:
    • Entity diffs (views, fields, templates, etc.)
    • Git commit messages
    • Manual description input during tag creation
  • ๐Ÿ“ค Optional Git Push
    Compiled ZIPs and metadata (build info, changelog, version tag) can be automatically pushed to:
    • GitHub / GitLab / Gitea repositories
    • Joomla update streams
    • Internal testing pipelines
  • ๐Ÿ“ Build ID Injection
    The resulting package includes metadata like:
    • Build ID
    • Compile timestamp
    • JCB version used
    • Joomla target version(s)
    • Entity revision hash
    These help track builds across environments or between developers.
  • CLI Support
    You can use the JCB CLI runner to trigger this entire flow:
    jcb compile --auto-tag --push
    This makes integration into deployment pipelines seamless.

Use Cases

  • Releasing components directly from your JCB interface
  • Deploying new versions via Git with changelog & version control
  • Eliminating manual compile โ†’ ZIP โ†’ tag โ†’ upload workflows
  • Running CI-style nightly builds of your components

Conclusion

With Auto-Compile and Auto-Tagging, JCB becomes not just a builder โ€” but your release engine. Maintain clean version control, eliminate manual steps, and ensure every component build is traceable, taggable, and deployable โ€” all without leaving JCB.

Summary

JCB can automatically compile your component and assign semantic version tags when pushing to Git or deploying packages. This streamlines your development workflow and makes distribution of releases more consistent, repeatable, and automated.