CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-moonrepo--core-linux-arm64-musl

Linux ARM64 musl binary distribution for the moon repository management tool

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

ci.mddocs/

CI Integration

Specialized continuous integration and deployment capabilities optimized for automated build environments.

Capabilities

CI Command

Execute tasks with CI-optimized defaults and enhanced logging for build systems.

/**
 * Run tasks in CI environment with CI-optimized behavior
 * Provides enhanced logging and failure handling for automated builds
 */
moon ci [...targets]

# Arguments:
# [...targets]    Task targets to execute in CI mode

# CI-Optimized Defaults:
# --no-bail       Continue executing tasks on failures (opposite of moon run default)
# --affected      Automatically determine affected projects (when appropriate)
# --remote        Use remote comparison for affected detection
# --summary       Show execution summary by default

# Additional Options:
# All standard run options are available:
-f, --force             Force run ignoring affected status
--dependents           Run downstream dependents  
-i, --interactive      Interactive mode (usually not needed in CI)
--query <statement>    Filter projects using query language
-u, --updateCache      Bypass cache and update items
--profile <type>       Generate performance profiles
--status <type>        Filter by change status for affected runs
--stdin                Accept touched files from stdin

Usage Examples:

# Basic CI execution - runs affected tasks
moon ci :build :test

# Force run all projects in CI
moon ci :build :test --force

# CI with specific project targets
moon ci app:build server:test

# Continue on failures and show summary
moon ci :lint :test --summary

# Filter by query in CI environment
moon ci :build --query "projectType=application"

# Profile performance in CI
moon ci :build --profile cpu

Affected Detection in CI

Optimized affected file detection for CI/CD pipelines.

# CI Affected Detection Behavior:
# - Uses git diff against base branch by default
# - Automatically detects common CI environments
# - Integrates with pull request change detection
# - Optimizes for build performance

# Environment Variables for CI:
MOON_BASE=<branch>      Base branch for comparison (default: main/master)
MOON_HEAD=<commit>      Head commit for comparison (default: HEAD)
CI=true                 Enables CI mode automatically

# Common CI patterns:
# GitHub Actions: compares against github.base_ref
# GitLab CI: uses CI_MERGE_REQUEST_TARGET_BRANCH_NAME
# Jenkins: configurable via environment variables

CI Affected Examples:

# Standard CI affected run
moon ci :test --affected

# Compare specific branches
MOON_BASE=develop moon ci :build --affected

# Include specific change types
moon ci :lint --affected --status modified --status added

# Force affected detection against remote
moon ci :test --affected --remote

Cache Optimization for CI

Leverage caching for faster CI builds and consistent results.

# CI Cache Strategies:

# Remote Cache Integration:
# - Shared cache between CI runs
# - Team member cache sharing
# - Branch-specific cache keys

# Cache Configuration:
--cache read-write      Standard caching (default)
--cache read           Read-only cache (useful for deploy builds)  
--cache write          Write-only cache (useful for cache warming)
--updateCache          Force cache refresh for specific runs

# Environment Variables:
MOON_CACHE_MODE=<mode>  Override cache behavior
MOON_REMOTE_CACHE_URL   Remote cache endpoint

CI Cache Examples:

# Standard CI with caching
moon ci :build :test

# Read-only cache for deployment builds
moon ci :build --cache read

# Warm cache without reading
moon ci :build --cache write

# Force cache update for nightly builds
moon ci :build :test --updateCache

Enhanced CI Logging

Structured logging and reporting optimized for CI systems.

# CI Logging Features:
# - Structured output for build system parsing
# - Progress indicators and timing information
# - Error aggregation and reporting
# - Integration with CI platform notifications

# Logging Options:
--log info             Standard CI logging (default)
--log debug           Detailed debugging information
--log trace           Full execution tracing
--quiet               Minimal output (errors only)
--summary             Execution summary and statistics
--logFile <file>      Write logs to file for archiving

CI Logging Examples:

# Standard CI logging with summary
moon ci :test --summary

# Detailed logging for debugging CI issues
moon ci :build --log debug

# Minimal output for clean CI logs
moon ci :deploy --quiet

# Archive detailed logs
moon ci :test --logFile ci-run.log

# Trace performance issues
moon ci :build --log trace --dump

Docker Integration

Specialized Docker support for containerized CI environments.

/**
 * Docker-related utilities for CI environments
 * Handles containerized build and deployment scenarios
 */
moon docker <subcommand>

# Subcommands:
scaffold    Generate Dockerfile and docker-compose configurations
sync        Sync Docker configurations with workspace changes

Docker CI Examples:

# Generate Docker configurations for CI
moon docker scaffold

# Update Docker configs after workspace changes  
moon docker sync

# Typical CI Docker workflow:
# 1. moon docker scaffold (in repository setup)
# 2. docker build -t app .
# 3. docker run app moon ci :test

Migration and Legacy Integration

Migrate existing CI pipelines to moon.

/**
 * Migrate from other build tools to moon
 * Converts existing configurations and workflows
 */
moon migrate <source>

# Migration Sources:
from-package-json    Convert package.json scripts to moon tasks
from-turborepo       Migrate from Turborepo configuration

# Migration Process:
# 1. Analyzes existing configuration
# 2. Generates equivalent moon configuration
# 3. Provides migration report and recommendations

Migration Examples:

# Migrate from package.json scripts
moon migrate from-package-json

# Convert Turborepo workspace
moon migrate from-turborepo

# Review migration results
moon project-graph --json | jq '.tasks'

Performance Profiling in CI

Generate performance profiles for CI optimization.

# Profiling Options:
--profile cpu          Generate CPU usage profile
--profile heap         Generate memory usage profile  
--dump                 Create trace profile for analysis

# Profile Analysis:
# - Profiles can be opened in Chrome DevTools (chrome://tracing)
# - Use Perfetto (ui.perfetto.dev) for detailed analysis
# - Identify bottlenecks in task execution
# - Optimize parallelization and caching

CI Profiling Examples:

# Profile CPU usage during build
moon ci :build --profile cpu

# Monitor memory usage
moon ci :test --profile heap

# Full execution trace
moon ci :build --dump

# Combine profiling with other options
moon ci :build --profile cpu --summary --logFile build-profile.log

Parallel Execution Control

Optimize CI resource usage through concurrency control.

# Concurrency Configuration:
--concurrency <n>      Set maximum parallel tasks
-c <n>                 Short form of concurrency

# Environment Control:
MOON_CONCURRENCY=<n>   Set via environment variable

# CI Resource Optimization:
# - Match concurrency to available CPU cores
# - Consider memory constraints for parallel tasks
# - Balance between speed and resource usage
# - Account for external service rate limits

CI Environment Detection

Moon automatically detects and optimizes for common CI environments:

# Supported CI Platforms:
# - GitHub Actions
# - GitLab CI/CD  
# - Jenkins
# - CircleCI
# - Azure DevOps
# - Bitbucket Pipelines
# - Travis CI
# - Generic CI (via CI=true environment variable)

# Automatic Optimizations:
# - Affected detection strategies
# - Logging format and verbosity
# - Cache key generation
# - Progress reporting
# - Error handling and reporting

Error Handling in CI

Robust error handling for automated environments:

  • Task Failures: CI mode continues execution by default (--no-bail)
  • Dependency Failures: Safely skips downstream tasks when dependencies fail
  • Network Issues: Retry logic for remote cache and tool downloads
  • Resource Constraints: Graceful handling of memory and disk space limits
  • Timeout Handling: Configurable timeouts for long-running tasks
  • Exit Codes: Proper exit codes for CI system integration (0 = success, non-zero = failure)

docs

advanced.md

ci.md

index.md

projects.md

setup.md

tasks.md

tile.json