kind: pipeline
type: docker
name: default

steps:
  - name: install dependencies
    image: node
    commands:
    - yarn --frozen-lockfile

  - name: lint
    image: node
    commands:
    - yarn lint

  - name: test
    image: node
    commands:
    - yarn test

  - name: semantic-release
    image: gtramontina/semantic-release:17.1.1
    environment:
      GH_TOKEN:
        from_secret: GH_TOKEN
      NPM_TOKEN:
        from_secret: NPM_TOKEN
      DRONE_COMMIT_SHA: $DRONE_COMMIT_SHA
      DRONE_TAG: $DRONE_TAG
      DRONE_BUILD_NUMBER: $DRONE_BUILD_NUMBER
      DRONE_BUILD_LINK: $DRONE_BUILD_LINK
      DRONE_TARGET_BRANCH: $DRONE_TARGET_BRANCH
      DRONE_BRANCH: $DRONE_BRANCH
      DRONE_JOB_NUMBER: $DRONE_JOB_NUMBER
      DRONE_BUILD_LINK: $DRONE_BUILD_LINK
      DRONE_PULL_REQUEST: $DRONE_PULL_REQUEST
      DRONE_SOURCE_BRANCH: $DRONE_SOURCE_BRANCH
      DRONE_REPO_OWNER: $DRONE_REPO_OWNER
      DRONE_REPO_NAME: $DRONE_REPO_NAME
      DRONE_WORKSPACE: $DRONE_WORKSPACE
    entrypoint:
      - semantic-release
    when:
      branch: master
      event: push

  - name: trigger
    image: plugins/downstream
    settings:
      server: http://drone
      token:
        from_secret: downstream_token
      repositories:
        - jackw/sass-fire.io@master
    when:
      branch: master
      event: push
