139 lines
3.6 KiB
Plaintext
139 lines
3.6 KiB
Plaintext
|
|
# CI Configuration - Nickel Format
|
||
|
|
# Auto-generated by dev-system CI installer
|
||
|
|
#
|
||
|
|
# This file is managed by TypeDialog using nickel-roundtrip.
|
||
|
|
# Edit via: .typedialog/ci/configure.sh
|
||
|
|
# Or manually edit and validate with: nickel typecheck config.ncl
|
||
|
|
#
|
||
|
|
# Documentation: nickel doc config.ncl
|
||
|
|
|
||
|
|
{
|
||
|
|
# CI namespace - all configuration lives under 'ci'
|
||
|
|
ci = {
|
||
|
|
# Project Information
|
||
|
|
# Detected languages and primary language for this project
|
||
|
|
project = {
|
||
|
|
# Project name
|
||
|
|
name = "SecretumVault",
|
||
|
|
# Project description
|
||
|
|
description = "Secretum Vault",
|
||
|
|
# Project website or documentation site URL
|
||
|
|
site_url = "https://secretumvault.dev",
|
||
|
|
# Project repository URL (GitHub, GitLab, etc.)
|
||
|
|
repo_url = "https://repo.jesusperez.pro/jesus/secretumvault.git",
|
||
|
|
# Languages detected in codebase (auto-detected by installer)
|
||
|
|
detected_languages = [
|
||
|
|
"rust",
|
||
|
|
"nickel",
|
||
|
|
"bash",
|
||
|
|
"markdown"
|
||
|
|
],
|
||
|
|
# Primary language (determines default tooling)
|
||
|
|
primary_language = "rust",
|
||
|
|
},
|
||
|
|
|
||
|
|
# CI Tools Configuration
|
||
|
|
# Each tool can be enabled/disabled and configured here
|
||
|
|
tools = {
|
||
|
|
# Taplo - TOML formatter and linter
|
||
|
|
taplo = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "cargo",
|
||
|
|
},
|
||
|
|
# YAMLlint - YAML formatter and linter
|
||
|
|
yamllint = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "brew",
|
||
|
|
},
|
||
|
|
# Clippy - Rust linting tool
|
||
|
|
clippy = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "builtin",
|
||
|
|
deny_warnings = true,
|
||
|
|
},
|
||
|
|
# Cargo Audit - Security vulnerability scanner
|
||
|
|
audit = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "cargo",
|
||
|
|
},
|
||
|
|
# Cargo Deny - Dependency checker
|
||
|
|
deny = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "cargo",
|
||
|
|
},
|
||
|
|
# Cargo SBOM - Software Bill of Materials
|
||
|
|
sbom = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "cargo",
|
||
|
|
},
|
||
|
|
# LLVM Coverage - Code coverage tool
|
||
|
|
llvm_cov = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "cargo",
|
||
|
|
},
|
||
|
|
# Shellcheck - Bash/shell script linter
|
||
|
|
shellcheck = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "brew",
|
||
|
|
},
|
||
|
|
# Shfmt - Shell script formatter
|
||
|
|
shfmt = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "brew",
|
||
|
|
},
|
||
|
|
# Markdownlint - Markdown linter
|
||
|
|
markdownlint = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "npm",
|
||
|
|
},
|
||
|
|
# Vale - Prose linter
|
||
|
|
vale = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "brew",
|
||
|
|
},
|
||
|
|
# Nickel - Configuration language type checker
|
||
|
|
nickel = {
|
||
|
|
enabled = true,
|
||
|
|
install_method = "brew",
|
||
|
|
check_all = true,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
# CI Features
|
||
|
|
# High-level feature flags for CI behavior
|
||
|
|
features = {
|
||
|
|
enable_ci_cd = true,
|
||
|
|
enable_pre_commit = true,
|
||
|
|
generate_taplo_config = true,
|
||
|
|
generate_contributing = true,
|
||
|
|
generate_security = true,
|
||
|
|
generate_code_of_conduct = true,
|
||
|
|
generate_dockerfiles = true,
|
||
|
|
enable_cross_compilation = true,
|
||
|
|
},
|
||
|
|
|
||
|
|
# CI Provider Configurations
|
||
|
|
# Settings for GitHub Actions, Woodpecker, GitLab CI, etc.
|
||
|
|
ci_providers = {
|
||
|
|
# GitHub Actions
|
||
|
|
github_actions = {
|
||
|
|
enabled = true,
|
||
|
|
branches_push = "main,develop",
|
||
|
|
branches_pr = "main",
|
||
|
|
},
|
||
|
|
# Woodpecker CI
|
||
|
|
woodpecker = {
|
||
|
|
enabled = true,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
# CI Settings
|
||
|
|
settings = {
|
||
|
|
parallel_jobs = 1,
|
||
|
|
job_timeout_minutes = 1,
|
||
|
|
require_status_checks = true,
|
||
|
|
run_on_draft_prs = true,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
}
|