kind: pipeline
name: testing

trigger:
  branch:
    include:
      - master
  event:
    include:
      - push
      - pull_request

steps:
  - name: build
    image: kolaente/yarn
    pull: true
    group: build-static
    commands:
      - yarn --frozen-lockfile
      - yarn run lint
      - yarn run build

---
kind: pipeline
name: release-latest

trigger:
  branch:
    - master
  event:
    - push

steps:
  - name: build
    image: kolaente/yarn
    pull: true
    group: build-static
    commands:
      - yarn --frozen-lockfile
      - yarn run lint
      - "echo '{\"VIKUNJA_API_BASE_URL\": \"/api/v1/\"}' > /drone/src/public/config.json" # Override config
      - yarn run build

  - name: static
    image: kolaente/zip
    pull: true
    commands:
      - cd dist
      - zip -r ../vikunja-frontend-master.zip *
      - cd ..
    depends_on: [ build ]

  - name: release
    image: plugins/s3:1
    pull: true
    settings:
      bucket: vikunja
      access_key:
        from_secret: aws_access_key_id
      secret_key:
        from_secret: aws_secret_access_key
      endpoint: https://storage.kolaente.de
      path_style: true
      source: vikunja-frontend-master.zip
      target: /frontend/
    depends_on: [ static ]

  # Build the docker image and push it to docker hub
  - name: docker
    image: plugins/docker
    pull: true
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      repo: vikunja/frontend
      auto_tag: true
    depends_on: [ static ]

  - name: telegram
    image: appleboy/drone-telegram
    depends_on:
      - release
      - docker
    settings:
      token:
        from_secret: TELEGRAM_TOKEN
      to:
        from_secret: TELEGRAM_TO
      message: >
        {{repo.owner}}/{{repo.name}}: \[{{build.status}}] Build {{build.number}}
        {{commit.author}} pushed to {{commit.branch}} {{commit.sha}}: `{{commit.message}}`
        Build started at {{datetime build.started "2006-Jan-02T15:04:05Z" "GMT+2"}} finished at {{datetime build.finished "2006-Jan-02T15:04:05Z" "GMT+2"}}.
    when:
      status:
        - success
        - failure

---
kind: pipeline
name: release-version

trigger:
  event:
    - tag

steps:
  - name: build
    image: kolaente/yarn
    pull: true
    group: build-static
    commands:
      - yarn --frozen-lockfile
      - yarn run lint
      - "echo '{\"VIKUNJA_API_BASE_URL\": \"/api/v1/\"}' > /drone/src/public/config.json" # Override config
      - yarn run build

  - name: static
    image: kolaente/zip
    pull: true
    commands:
      - cd dist
      - zip -r ../vikunja-frontend-${DRONE_TAG##v}.zip *
      - cd ..
    depends_on: [ build ]

  - name: release
    image: plugins/s3:1
    pull: true
    settings:
      bucket: vikunja
      access_key:
        from_secret: aws_access_key_id
      secret_key:
        from_secret: aws_secret_access_key
      endpoint: https://storage.kolaente.de
      path_style: true
      source: vikunja-frontend-${DRONE_TAG##v}.zip
      target: /frontend/
    depends_on: [ static ]

  # Build the docker image and push it to docker hub
  - name: docker
    image: plugins/docker
    pull: true
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      repo: vikunja/frontend
      auto_tag: true
    depends_on: [ static ]

  - name: telegram
    image: appleboy/drone-telegram
    depends_on:
      - release
      - docker
    settings:
      token:
        from_secret: TELEGRAM_TOKEN
      to:
        from_secret: TELEGRAM_TO
      message: >
        {{repo.owner}}/{{repo.name}}: \[{{build.status}}] Build {{build.number}}
        {{commit.author}} pushed to {{commit.branch}} {{commit.sha}}: `{{commit.message}}`
        Build started at {{datetime build.started "2006-Jan-02T15:04:05Z" "GMT+2"}} finished at {{datetime build.finished "2006-Jan-02T15:04:05Z" "GMT+2"}}.
    when:
      status:
        - success
        - failure

