version: 31
jobs:
- name: Build
  steps:
  - !CheckoutStep
    name: checkout
    cloneCredential: !DefaultCredential {}
    withLfs: false
    withSubmodules: false
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  - !CommandStep
    name: lint
    runInContainer: true
    image: node:21-alpine
    interpreter: !DefaultInterpreter
      commands: |
        apk add --no-cache libc6-compat
        apk update

        yarn set version canary
        yarn config set nodeLinker node-modules

        yarn install
        yarn run lint
    useTTY: true
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  - !BuildImageStep
    name: '[build]: docker'
    dockerfile: ./Dockerfile
    tags: '@server@/rose/fixbluesky/fixbluesky:devel'
    publish: true
    builtInRegistryAccessTokenSecret: DOCKER_REGISTRY_TOKEN
    removeDanglingImages: true
    condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
  triggers:
  - !BranchUpdateTrigger
    branches: devel
    paths: src/**
    projects: rose/fixbluesky
  retryCondition: never
  maxRetries: 3
  retryDelay: 30
  timeout: 3600
