image: "${KOALA_CI_IMAGE}"

stages:
  - notify
  - build
  - test
  - pre-deploy
  - pre-publish
  - deploy

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "pipeline"
    - if: $CI_PIPELINE_SOURCE == "parent_pipeline"

variables:
  GIT_SUBMODULE_STRATEGY: recursive
  PANDA_SDK_VERSION: next

default:
  cache:
  - key: $CI_PIPELINE_ID
    policy: pull
    paths:
    - .npm/

include:
    - gitlab/setup.yml
    - gitlab/npm.yml
    - gitlab/notify.yml
    - core/.gitlab-ci.yml
    - arkgen/.gitlab-ci.yml
    - ohosgen/.gitlab-ci.yml
    - arktscgen/.gitlab-ci.yml
    - etsgen/.gitlab-ci.yml
    - dtsgen/.gitlab-ci.yml
    - idlinter/.gitlab-ci.yml
    - external/.gitlab-ci.yml
    - codecheck_fixer/.gitlab-ci.yml

gn:
  stage: build
  tags:
    - idlize-ci
    - koala-ci
  needs: []
  script:
    - !reference [.npm, script]
    - gn gen out/dir
    - ninja -C out/dir -j 20 :all