---
kind: pipeline
name: default

platform:
  os: linux
  arch: amd64

steps:
- name: dry-run-base
  pull: always
  image: plugins/docker
  settings:
    context: docker/base
    dockerfile: docker/base/Dockerfile
    dry_run: true
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: base
    username:
      from_secret: docker_username
  when:
    event:
    - pull_request

- name: dry-run-go-1.14.2
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-1.14.2
    dockerfile: docker/go-1.14.2/Dockerfile
    dry_run: true
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: go-1.14.2
    username:
      from_secret: docker_username
  when:
    event:
    - pull_request
  depends_on:
  - dry-run-base

- name: dry-run-go-1.13.10
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-1.13.10
    dockerfile: docker/go-1.13.10/Dockerfile
    dry_run: true
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: go-1.13.10
    username:
      from_secret: docker_username
  when:
    event:
    - pull_request
  depends_on:
  - dry-run-base

- name: build-base
  pull: always
  image: plugins/docker
  settings:
    context: docker/base
    dockerfile: docker/base/Dockerfile
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: base
    username:
      from_secret: docker_username
  when:
    branch:
    - master
    event:
      exclude:
      - pull_request

- name: build-go-1.14.2
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-1.14.2
    dockerfile: docker/go-1.14.2/Dockerfile
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: go-1.14.2
    username:
      from_secret: docker_username
  when:
    branch:
    - master
    event:
      exclude:
      - pull_request
  depends_on:
  - build-base

- name: build-go-1.14.x
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-1.14.x
    dockerfile: docker/go-1.14.x/Dockerfile
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: go-1.14.x
    username:
      from_secret: docker_username
  when:
    branch:
    - master
    event:
      exclude:
      - pull_request
  depends_on:
  - build-go-1.14.2

- name: build-go-1.13.10
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-1.13.10
    dockerfile: docker/go-1.13.10/Dockerfile
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: go-1.13.10
    username:
      from_secret: docker_username
  when:
    branch:
    - master
    event:
      exclude:
      - pull_request
  depends_on:
  - build-base

- name: build-go-1.13.x
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-1.13.x
    dockerfile: docker/go-1.13.x/Dockerfile
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: go-1.13.x
    username:
      from_secret: docker_username
  when:
    branch:
    - master
    event:
      exclude:
      - pull_request
  depends_on:
  - build-go-1.13.10

- name: build-go-latest
  pull: always
  image: plugins/docker
  settings:
    context: docker/go-latest
    dockerfile: docker/go-latest/Dockerfile
    password:
      from_secret: docker_password
    repo: techknowlogick/xgo
    tags: latest
    username:
      from_secret: docker_username
  when:
    branch:
    - master
    event:
      exclude:
      - pull_request
  depends_on:
  - build-go-1.14.x

...
