Skip to content
Snippets Groups Projects
.drone.yml 3.67 KiB
Newer Older
---
kind: pipeline
name: amd64

platform:
  os: linux
  arch: amd64

steps:
- name: build
  image: rancher/dapper:v0.4.1
  commands:
  - dapper ci
  volumes:
  - name: docker
    path: /var/run/docker.sock

- name: github_binary_release
  image: plugins/github-release
  settings:
    api_key:
      from_secret: github_token
    prerelease: true
    checksum:
    - sha256
    checksum_file: CHECKSUMsum-amd64.txt
    checksum_flatten: true
    files:
    - "dist/artifacts/*"
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

- name: docker-publish
  image: plugins/docker
  settings:
    dockerfile: package/Dockerfile
    password:
      from_secret: docker_password
    repo: "rancher/local-path-provisioner"
    tag: "${DRONE_TAG}-amd64"
    username:
      from_secret: docker_username
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

volumes:
- name: docker
  host:
    path: /var/run/docker.sock

---
kind: pipeline
name: arm64

platform:
  os: linux
  arch: arm64

steps:
- name: build
  image: rancher/dapper:v0.4.1
  commands:
  - dapper ci
  volumes:
  - name: docker
    path: /var/run/docker.sock

- name: github_binary_release
  image: plugins/github-release
  settings:
    api_key:
      from_secret: github_token
    prerelease: true
    checksum:
    - sha256
    checksum_file: CHECKSUMsum-arm64.txt
    checksum_flatten: true
    files:
    - "dist/artifacts/*"
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

- name: docker-publish
  image: plugins/docker
  settings:
    dockerfile: package/Dockerfile
    password:
      from_secret: docker_password
    repo: "rancher/local-path-provisioner"
    tag: "${DRONE_TAG}-arm64"
    username:
      from_secret: docker_username
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

volumes:
- name: docker
  host:
    path: /var/run/docker.sock

---
kind: pipeline
name: arm

platform:
  os: linux
  arch: arm

steps:
- name: build
  image: rancher/dapper:v0.4.1
  commands:
  - dapper ci
  volumes:
  - name: docker
    path: /var/run/docker.sock

- name: github_binary_release
  image: plugins/github-release
  settings:
    api_key:
      from_secret: github_token
    prerelease: true
    checksum:
    - sha256
    checksum_file: CHECKSUMsum-arm.txt
    checksum_flatten: true
    files:
    - "dist/artifacts/*"
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

- name: docker-publish
  image: plugins/docker
  settings:
    dockerfile: package/Dockerfile
    password:
      from_secret: docker_password
    repo: "rancher/local-path-provisioner"
    tag: "${DRONE_TAG}-arm"
    username:
      from_secret: docker_username
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

volumes:
- name: docker
  host:
    path: /var/run/docker.sock

---
kind: pipeline
name: manifest

platform:
  os: linux
  arch: amd64

steps:
- name: manifest
  image: plugins/manifest:1.0.2
  settings:
    username:
      from_secret: docker_username
    password:
      from_secret: docker_password
    platforms:
      - linux/amd64
      - linux/arm64
      - linux/arm
    target: "rancher/local-path-provisioner:${DRONE_TAG}"
    template: "rancher/local-path-provisioner:${DRONE_TAG}-ARCH"
  when:
    instance:
    - drone-publish.rancher.io
    ref:
    - refs/head/master
    - refs/tags/*
    event:
    - tag

depends_on:
- amd64
- arm64
- arm