version: 18
jobs:
- name: vue ci
  steps:
  - !CheckoutStep
    name: checkout
    cloneCredential: !DefaultCredential {}
    withLfs: false
    withSubmodules: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  - !SetBuildVersionStep
    name: set build version
    buildVersion: '@script:builtin:node:determine-project-version@'
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  - !CommandStep
    name: build & test
    runInContainer: true
    image: node:16.17.0-alpine
    interpreter: !DefaultInterpreter
      commands:
      - yarn --registry=https://registry.npm.taobao.org
      - npx nuxt build
    useTTY: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  triggers:
  - !BranchUpdateTrigger {}
  retryCondition: never
  maxRetries: 3
  retryDelay: 30
  cpuRequirement: 250
  memoryRequirement: 256
  caches:
  - key: npm-cache
    path: /root/.npm
  timeout: 3600
- name: Build Docker Image
  steps:
  - !CheckoutStep
    name: Checkout Code
    cloneCredential: !DefaultCredential {}
    withLfs: false
    withSubmodules: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  - !BuildImageStep
    name: Build Docker Image
    tags: rymcu/nebula:latest
    publish: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  jobExecutor: internal
  triggers:
  - !TagCreateTrigger
    projects: nebula
  retryCondition: never
  maxRetries: 3
  retryDelay: 30
  cpuRequirement: 250
  memoryRequirement: 256
  timeout: 3600
- name: Pull from GitHub
  steps:
  - !PullRepository
    name: Pull from GitHub
    remoteUrl: https://github.com/ronger-x/nebula
    syncToChildProject: false
    passwordSecret: access_token
    refs: refs/heads/* refs/tags/*
    withLfs: false
    force: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  triggers:
  - !ScheduleTrigger
    cronExpression: 0 0 1 * * ?
    projects: nebula
  retryCondition: never
  maxRetries: 3
  retryDelay: 30
  cpuRequirement: 250
  memoryRequirement: 256
  timeout: 3600
- name: Push to GitHub
  steps:
  - !PushRepository
    name: Push to GitHub
    remoteUrl: https://github.com/ronger-x/nebula
    passwordSecret: access_token
    withLfs: false
    force: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  triggers:
  - !BranchUpdateTrigger
    projects: nebula
  - !TagCreateTrigger
    projects: nebula
  retryCondition: never
  maxRetries: 3
  retryDelay: 30
  cpuRequirement: 250
  memoryRequirement: 256
  timeout: 3600
