Pipeline

The pipeline is the root configuration object in an Atkins file.

Properties

Field Type Default Description
name string - Pipeline name for display
dir string . Working directory for all jobs
vars map {} Pipeline-level variables
env object {} Environment variables
jobs map - Job definitions
tasks map - Alias for jobs
include string/list - External file inclusion
when object - Skill activation conditions

when Object

Field Type Description
files list Files that must exist for pipeline to be enabled

Basic Pipeline

  name: Basic Pipeline

jobs:
  hello:
    aliases: [default]
    desc: Say hello
    steps:
      - run: echo "Hello from basic pipeline"

With Variables

  name: Pipeline with Variables

vars:
  greeting: Hello
  target: World
  items:
    - alpha
    - beta
    - gamma

jobs:
  greet:
    aliases: [default]
    steps:
      - run: echo "${{ greeting }}, ${{ target }}!"

With Environment

  name: Pipeline with Environment

env:
  vars:
    APP_ENV: production
    LOG_LEVEL: info

jobs:
  show:
    aliases: [default]
    steps:
      - run: echo "Environment is $APP_ENV"
      - run: echo "Log level is $LOG_LEVEL"

With Working Directory

  name: Pipeline with Directory

dir: /tmp

jobs:
  show-dir:
    aliases: [default]
    steps:
      - run: echo "Working in $(pwd)"

Environment Inheritance

Atkins passes the full shell environment to all commands. There is no need to explicitly declare which variables to inherit.

  jobs:
  show-env:
    steps:
      # $HOME, $PATH, $USER etc. are all available
      - run: echo "Home is $HOME"

See Also