Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
base.yml 84.29 KiB
version: 2.1

parameters:
  run-docs-only:
    type: boolean
    default: false

  upload-to-storage:
    type: string
    default: '1'

  run-build-linux:
    type: boolean
    default: false

  run-build-mac:
    type: boolean
    default: false

  run-linux-publish:
    type: boolean
    default: false

  linux-publish-arch-limit:
    type: enum
    default: all
    enum: ["all", "arm", "arm64", "x64"]

  run-macos-publish:
    type: boolean
    default: false

  macos-publish-arch-limit:
    type: enum
    default: all
    enum: ["all", "osx-x64", "osx-arm64", "mas-x64", "mas-arm64"]

  medium-linux-executor:
    type: enum
    default: electronjs/aks-linux-medium
    enum: ["electronjs/aks-linux-medium", "medium"]
  
  large-linux-executor:
    type: enum
    default: electronjs/aks-linux-large
    enum: ["electronjs/aks-linux-large", "2xlarge"]

# Executors
executors:
  linux-docker:
    parameters:
      size:
        description: "Docker executor size"
        type: enum
        # aks-linux-large === 32 core
        # 2xlarge should not be used directly, use the pipeline param instead
        enum: ["medium", "electronjs/aks-linux-medium", "xlarge", "electronjs/aks-linux-large", "2xlarge"]
    docker:
      - image: ghcr.io/electron/build:9a43c14f5c19be0359843299f79e736521373adc
    resource_class: << parameters.size >>

  macos:
    parameters:
      size:
        description: "macOS executor size"
        type: enum
        enum: ["macos.x86.medium.gen2", "macos.m1.large.gen1", "macos.m1.medium.gen1"]
      version:
        description: "xcode version"
        type: enum