version: v1.0
name: makeomatic/ms-mailer
agent:
  machine:
    type: e1-standard-2
    os_image: ubuntu2004

fail_fast:
  stop:
    when: "branch != 'master'"

auto_cancel:
  running:
    when: "branch != 'master'"

global_job_config:
  prologue:
    commands:
      - set -e
      - sem-version node --lts
      - corepack enable
      - corepack install --global pnpm@9.x
      - checkout
      - cache restore node-$(checksum pnpm-lock.yaml)
      - pnpm i --frozen-lockfile --prefer-offline --ignore-scripts
      - cache store node-$(checksum pnpm-lock.yaml) $(pnpm store path)

blocks:
  - name: test
    dependencies: []
    task:
      jobs:
        - name: test
          commands:
            - pnpm test

  - name: test-docker-build
    dependencies: []
    task:
      jobs:
      - name: docker build
        commands:
        - pnpm mdep docker build

  - name: release
    dependencies: ["test", "test-docker-build"]
    skip:
      when: "branch != 'master'"
    task:
      secrets:
        - name: semantic-release
        - name: docker-hub
      jobs:
        - name: release
          commands:
            - echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin
            - pnpm run semantic-release
