Skip to content

Latest commit

 

History

History
552 lines (529 loc) · 18.6 KB

Configuration-Reference.md

File metadata and controls

552 lines (529 loc) · 18.6 KB

Configuration reference

Every option of .github/davils-ci.yaml with its default.

Every option with its default, read from actions/resolve-config/defaults.yaml. A repository only writes what differs; lists replace the default, mappings merge key by key. The JSON schema is schemas/davils-ci.schema.json.

Options

Option Default Values
version 1 1
project.working-directory . string
project.release-branch main string
project.integration-branch develop string
packages.include [] list of string
packages.exclude [] list of string
packages.external-path-dependencies error error, warn
packages.affected-only auto true, false, auto
packages.always-all-paths ["pubspec.yaml", "pubspec.lock", "analysis_options.yaml", "dart_test.yaml", "inspectra.yaml", "inspectra.base.yaml", "trivy*.yaml", "tool/**", ".github/**"] list of string
packages.granularity auto auto, package, workspace, shards
packages.shards 8 integer
packages.shard-threshold 20 integer
dart.enabled auto true, false, auto
dart.sdks ["stable", "lowest"] list of string
dart.os ["ubuntu"] list of ubuntu, ubuntu-arm, macos, windows, windows-arm
dart.format.enabled true true, false, auto
dart.format.command empty string
dart.analyze.enabled true true, false, auto
dart.analyze.fatal-infos true boolean
dart.analyze.command empty string
dart.test.enabled true true, false, auto
dart.test.platforms [] list of string
dart.test.command empty string
dart.test.args empty string
dart.test.report false boolean
dart.coverage.enabled true true, false, auto
dart.coverage.source auto auto, dart-ci, inspectra, none
dart.coverage.min 0 integer
dart.coverage.codecov false boolean
dart.build-runner.enabled auto true, false, auto
dart.build-runner.command empty string
dart.publish-dry-run.enabled auto true, false, auto
dart.pana.enabled false true, false, auto
dart.pana.min-points 0 integer
dart.downgrade.enabled false true, false, auto
dart.when events, branches, paths
flutter.enabled auto true, false, auto
flutter.channel stable stable, beta, main, master
flutter.versions ["stable"] list of string
flutter.version-file empty string
flutter.os ["ubuntu"] list of ubuntu, ubuntu-arm, macos, windows, windows-arm
flutter.format.enabled true true, false, auto
flutter.format.command empty string
flutter.analyze.enabled true true, false, auto
flutter.analyze.fatal-infos true boolean
flutter.analyze.command empty string
flutter.test.enabled true true, false, auto
flutter.test.command empty string
flutter.test.args empty string
flutter.test.exclude-tags empty string
flutter.test.report false boolean
flutter.coverage.enabled true true, false, auto
flutter.coverage.source auto auto, flutter-ci, inspectra, none
flutter.coverage.min 0 integer
flutter.coverage.codecov false boolean
flutter.build-runner.enabled auto true, false, auto
flutter.build-runner.command empty string
flutter.publish-dry-run.enabled auto true, false, auto
flutter.golden.enabled false true, false, auto
flutter.golden.os macos ubuntu, macos, windows
flutter.golden.tags golden string
flutter.integration-test.enabled false true, false, auto
flutter.integration-test.device auto auto, linux, chrome, macos, windows
flutter.l10n.enabled auto true, false, auto
flutter.when events, branches, paths
inspectra.enabled auto true, false, auto
inspectra.install auto auto, dev-dependency, global, binary
inspectra.version latest string
inspectra.config-file empty string
inspectra.profile empty string
inspectra.check.enabled true true, false, auto
inspectra.check.root auto true, false, auto
inspectra.scan.enabled true true, false, auto
inspectra.scan.recursive true boolean
inspectra.scan.fail-on high critical, high, medium, low, unknown, none
inspectra.scan.min-severity empty ``, critical, `high`, `medium`, `low`, `unknown`
inspectra.sarif.enabled auto true, false, auto
inspectra.sarif.category inspectra string
inspectra.summary.enabled true true, false, auto
inspectra.report.enabled auto true, false, auto
inspectra.config-lint.enabled true true, false, auto
inspectra.config-diff.enabled auto true, false, auto
inspectra.trivy.mode empty ``, auto, `required`, `disabled`
inspectra.trivy.version empty string
inspectra.trivy.cache true boolean
inspectra.offline false boolean
inspectra.tolerate-incomplete false boolean
inspectra.when events, branches, paths
writerside.enabled auto true, false, auto
writerside.instances [] list of string
writerside.builder docker docker, action
writerside.builder-image jetbrains/writerside-builder string
writerside.builder-version 2026.09.0357 string
writerside.checker.enabled true true, false, auto
writerside.pdf empty string
writerside.algolia.enabled false true, false, auto
writerside.algolia.app-name empty string
writerside.algolia.index empty string
writerside.when events, branches, paths
dartdoc.enabled auto true, false, auto
dartdoc.publishable-only true boolean
dartdoc.validate-links true boolean
dartdoc.fail-on-warnings false boolean
dartdoc.dry-run-on-pr true boolean
dartdoc.args empty string
dartdoc.when events, branches, paths
pages.enabled auto true, false, auto
pages.deploy true boolean
pages.parts.docs true boolean
pages.parts.api true boolean
pages.parts.web true boolean
pages.parts.coverage false boolean
pages.parts.inspectra false boolean
pages.layout.docs / string
pages.layout.api /api string
pages.layout.web /app/{id} string
pages.layout.coverage /coverage/{id} string
pages.layout.inspectra /quality string
pages.landing-page auto true, false, auto
pages.cname empty string
pages.spa-fallback empty string
pages.extra-path empty string
pages.environment github-pages string
pages.when events, branches, paths
build.flutter.enabled auto true, false, auto
build.flutter.apps [] list of string
build.flutter.targets.web auto true, false, auto
build.flutter.targets.apk false true, false, auto
build.flutter.targets.appbundle false true, false, auto
build.flutter.targets.ios false true, false, auto
build.flutter.targets.ipa false true, false, auto
build.flutter.targets.macos false true, false, auto
build.flutter.targets.linux-x64 false true, false, auto
build.flutter.targets.linux-arm64 false true, false, auto
build.flutter.targets.windows-x64 false true, false, auto
build.flutter.targets.windows-arm64 false true, false, auto
build.flutter.build-mode release release, profile, debug
build.flutter.flavor empty string
build.flutter.target-file empty string
build.flutter.dart-define-from-file empty string
build.flutter.extra-args empty string
build.flutter.build-name pubspec string
build.flutter.build-number run-number string
build.flutter.obfuscate false boolean
build.flutter.web-wasm false boolean
build.flutter.android-signing auto true, false, auto
build.flutter.apple-signing auto true, false, auto
build.flutter.macos-notarize false boolean
build.flutter.java-version 17 string
build.flutter.environment empty string
build.flutter.when events, branches, paths
build.dart-compile.enabled auto true, false, auto
build.dart-compile.executables [] list of object
build.dart-compile.targets ["linux-x64", "linux-arm64", "macos-arm64", "macos-x64", "windows-x64"] list of linux-x64, linux-arm64, macos-arm64, macos-x64, windows-x64, windows-arm64
build.dart-compile.archive zip zip, tar.gz
build.dart-compile.checksums true boolean
build.dart-compile.smoke-test-args --version string
build.dart-compile.when events, branches, paths
release.mode auto auto, none, tag, release-please
release.tag-patterns.single v{version} string
release.tag-patterns.package {package}-v{version} string
release.verify.enabled true true, false, auto
release.verify.on-branch main string
release.pub.enabled auto true, false, auto
release.pub.environment pub.dev string
release.pub.wait-for-siblings true boolean
release.pub.wait-attempts 60 integer
release.pub.wait-interval 30 integer
release.github.enabled true true, false, auto
release.github.notes-source auto auto, inspectra, changelog, generate, file, keep
release.github.attest true boolean
release.github.checksums true boolean
release.github.draft false boolean
release.github.make-latest auto true, false, auto
release.release-please.token-source app app, pat, github-token
release.release-please.config-file release-please-config.json string
release.release-please.manifest-file .release-please-manifest.json string
release.release-please.dispatch-workflow empty string
release.release-please.back-merge false boolean
pr.title.enabled true true, false, auto
pr.title.types [] list of string
pr.title.scopes [] list of string
pr.title.require-scope false boolean
pr.title.subject-pattern empty string
pr.branch-policy.enabled true true, false, auto
pr.branch-policy.main-allowed-sources ["develop", "release-please--*", "hotfix/*"] list of string
pr.when events, branches, paths
security.harden-runner.enabled true true, false, auto
security.harden-runner.egress-policy audit audit, block
security.harden-runner.allowed-endpoints empty string
hooks.pre-setup empty string
hooks.post-setup empty string
hooks.pre-test empty string
hooks.post-test empty string
hooks.pre-publish empty string
runners.linux ubuntu-latest string
runners.linux-arm ubuntu-24.04-arm string
runners.macos macos-latest string
runners.macos-intel macos-15-intel string
runners.windows windows-latest string
runners.windows-arm windows-11-arm string
timeouts.ci 45 integer
timeouts.inspectra 30 integer
timeouts.docs 20 integer
timeouts.build 60 integer
timeouts.publish 45 integer
timeouts.release 20 integer
artifacts.retention-days 7 integer

The defaults file

# The defaults of every option of .github/davils-ci.yaml. A repository only writes what differs.
#
# Precedence, lowest first: these defaults, the preset, .github/davils-ci.yaml, the `config` input
# of pipeline.yml, the typed inputs of pipeline.yml. Mappings merge key by key, lists replace.
#
# Toggles take true, false or auto. auto turns a feature on when the repository has what it needs:
# a Dart package for dart, a writerside.cfg for writerside, an app for the Flutter builds.
#
# Every feature has `when`: the events it runs on (push is a branch push, tag a tag push), the
# branches (globs, for push events; empty means all) and the paths (globs relative to the working
# directory, for pull_request, merge_group and push events; empty means any change).
version: 1

project:
  working-directory: .
  release-branch: main
  integration-branch: develop

packages:
  include: []
  exclude: []
  external-path-dependencies: error
  affected-only: auto
  always-all-paths:
    - pubspec.yaml
    - pubspec.lock
    - analysis_options.yaml
    - dart_test.yaml
    - inspectra.yaml
    - inspectra.base.yaml
    - trivy*.yaml
    - tool/**
    - .github/**
  granularity: auto
  shards: 8
  shard-threshold: 20

dart:
  enabled: auto
  sdks: [stable, lowest]
  os: [ubuntu]
  format:
    enabled: true
    command: ''
  analyze:
    enabled: true
    fatal-infos: true
    command: ''
  test:
    enabled: true
    platforms: []
    command: ''
    args: ''
    report: false
  coverage:
    enabled: true
    source: auto
    min: 0
    codecov: false
  build-runner:
    enabled: auto
    command: ''
  publish-dry-run:
    enabled: auto
  pana:
    enabled: false
    min-points: 0
  downgrade:
    enabled: false
  when:
    events: [push, pull_request, merge_group, schedule, workflow_dispatch]
    branches: []
    paths: []

flutter:
  enabled: auto
  channel: stable
  versions: [stable]
  version-file: ''
  os: [ubuntu]
  format:
    enabled: true
    command: ''
  analyze:
    enabled: true
    fatal-infos: true
    command: ''
  test:
    enabled: true
    command: ''
    args: ''
    exclude-tags: ''
    report: false
  coverage:
    enabled: true
    source: auto
    min: 0
    codecov: false
  build-runner:
    enabled: auto
    command: ''
  publish-dry-run:
    enabled: auto
  golden:
    enabled: false
    os: macos
    tags: golden
  integration-test:
    enabled: false
    device: auto
  l10n:
    enabled: auto
  when:
    events: [push, pull_request, merge_group, schedule, workflow_dispatch]
    branches: []
    paths: []

inspectra:
  enabled: auto
  install: auto
  version: latest
  config-file: ''
  profile: ''
  check:
    enabled: true
    root: auto
  scan:
    enabled: true
    recursive: true
    fail-on: high
    min-severity: ''
  sarif:
    enabled: auto
    category: inspectra
  summary:
    enabled: true
  report:
    enabled: auto
  config-lint:
    enabled: true
  config-diff:
    enabled: auto
  trivy:
    mode: ''
    version: ''
    cache: true
  offline: false
  tolerate-incomplete: false
  when:
    events: [push, pull_request, merge_group, schedule, workflow_dispatch]
    branches: []
    paths: []

writerside:
  enabled: auto
  instances: []
  builder: docker
  builder-image: jetbrains/writerside-builder
  builder-version: '2026.09.0357'
  checker:
    enabled: true
  pdf: ''
  algolia:
    enabled: false
    app-name: ''
    index: ''
  when:
    events: [push, pull_request, merge_group, workflow_dispatch]
    branches: []
    paths: []

dartdoc:
  enabled: auto
  publishable-only: true
  validate-links: true
  fail-on-warnings: false
  dry-run-on-pr: true
  args: ''
  when:
    events: [push, pull_request, merge_group, workflow_dispatch]
    branches: []
    paths: []

pages:
  enabled: auto
  deploy: true
  parts:
    docs: true
    api: true
    web: true
    coverage: false
    inspectra: false
  layout:
    docs: /
    api: /api
    web: /app/{id}
    coverage: /coverage/{id}
    inspectra: /quality
  landing-page: auto
  cname: ''
  spa-fallback: ''
  extra-path: ''
  environment: github-pages
  when:
    events: [push, workflow_dispatch]
    branches: [main]
    paths: []

build:
  flutter:
    enabled: auto
    apps: []
    targets:
      web: auto
      apk: false
      appbundle: false
      ios: false
      ipa: false
      macos: false
      linux-x64: false
      linux-arm64: false
      windows-x64: false
      windows-arm64: false
    build-mode: release
    flavor: ''
    target-file: ''
    dart-define-from-file: ''
    extra-args: ''
    build-name: pubspec
    build-number: run-number
    obfuscate: false
    web-wasm: false
    android-signing: auto
    apple-signing: auto
    macos-notarize: false
    java-version: '17'
    environment: ''
    when:
      events: [push, workflow_dispatch]
      branches: [main]
      paths: []
  dart-compile:
    enabled: auto
    executables: []
    targets: [linux-x64, linux-arm64, macos-arm64, macos-x64, windows-x64]
    archive: zip
    checksums: true
    smoke-test-args: --version
    when:
      events: [push, workflow_dispatch]
      branches: [main]
      paths: []

release:
  mode: auto
  tag-patterns:
    single: v{version}
    package: '{package}-v{version}'
  verify:
    enabled: true
    on-branch: main
  pub:
    enabled: auto
    environment: pub.dev
    wait-for-siblings: true
    wait-attempts: 60
    wait-interval: 30
  github:
    enabled: true
    notes-source: auto
    attest: true
    checksums: true
    draft: false
    make-latest: auto
  release-please:
    token-source: app
    config-file: release-please-config.json
    manifest-file: .release-please-manifest.json
    dispatch-workflow: ''
    back-merge: false

pr:
  title:
    enabled: true
    types: []
    scopes: []
    require-scope: false
    subject-pattern: ''
  branch-policy:
    enabled: true
    main-allowed-sources: [develop, release-please--*, hotfix/*]
  when:
    events: [pull_request]
    branches: []
    paths: []

security:
  harden-runner:
    enabled: true
    egress-policy: audit
    allowed-endpoints: ''

hooks:
  pre-setup: ''
  post-setup: ''
  pre-test: ''
  post-test: ''
  pre-publish: ''

runners:
  linux: ubuntu-latest
  linux-arm: ubuntu-24.04-arm
  macos: macos-latest
  macos-intel: macos-15-intel
  windows: windows-latest
  windows-arm: windows-11-arm

timeouts:
  ci: 45
  inspectra: 30
  docs: 20
  build: 60
  publish: 45
  release: 20

artifacts:
  retention-days: 7