Skip to content

027 - CI Pipeline

Continuous integration pipeline definition. This is an example of a MAML document.

maml
{
  name: "CI Pipeline"
  trigger: {
    branches: [
      "main"
      "develop"
    ]
    paths: [
      "src/**"
      "tests/**"
    ]
  }

  stages: {
    # Code quality
    lint: {
      image: "node:20"
      command: "npx eslint ."
    }
    test: {
      image: "node:20"
      command: "npm test"
      coverage: true
    }
    build: {
      image: "node:22"
      command: "npm run build"
      artifacts: [
        "dist/**"
        "build/**"
      ]
    }
  }
}

See Also