--- kind: pipeline name: linux-amd64 platform: os: linux arch: amd64 steps: - name: test image: golang:1.11 commands: - go test -v ./... volumes: - name: gopath path: /go - name: build image: golang:1.11 commands: - "go build -ldflags \"-extldflags \\\\\"-static\\\\\"\" -o release/linux/amd64/drone-server github.com/drone/drone/cmd/drone-server" - CGO_ENABLED=0 go build -o release/linux/amd64/drone-agent github.com/drone/drone/cmd/drone-agent - CGO_ENABLED=0 go build -o release/linux/amd64/drone-controller github.com/drone/drone/cmd/drone-controller volumes: - name: gopath path: /go when: event: - push - tag - name: publish_agent image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-amd64 dockerfile: docker/Dockerfile.agent.linux.amd64 password: from_secret: docker_password repo: drone/agent username: from_secret: docker_username when: event: - push - tag - name: publish_controller image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-amd64 dockerfile: docker/Dockerfile.controller.linux.amd64 password: from_secret: docker_password repo: drone/controller username: from_secret: docker_username when: event: - push - tag - name: publish_server image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-amd64 dockerfile: docker/Dockerfile.server.linux.amd64 password: from_secret: docker_password repo: drone/drone username: from_secret: docker_username when: event: - push - tag volumes: - name: gopath temp: {} --- kind: pipeline name: linux-arm platform: os: linux arch: arm steps: - name: test image: golang:1.11 commands: - go test -v ./... volumes: - name: gopath path: /go - name: build image: golang:1.11 commands: - "go build -ldflags \"-extldflags \\\\\"-static\\\\\"\" -o release/linux/arm/drone-server github.com/drone/drone/cmd/drone-server" - CGO_ENABLED=0 go build -o release/linux/arm/drone-agent github.com/drone/drone/cmd/drone-agent - CGO_ENABLED=0 go build -o release/linux/arm/drone-controller github.com/drone/drone/cmd/drone-controller volumes: - name: gopath path: /go when: event: - push - tag - name: publish_agent image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-arm dockerfile: docker/Dockerfile.agent.linux.arm password: from_secret: docker_password repo: drone/agent username: from_secret: docker_username when: event: - push - tag - name: publish_controller image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-arm dockerfile: docker/Dockerfile.controller.linux.arm password: from_secret: docker_password repo: drone/controller username: from_secret: docker_username when: event: - push - tag - name: publish_server image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-arm dockerfile: docker/Dockerfile.server.linux.arm password: from_secret: docker_password repo: drone/drone username: from_secret: docker_username when: event: - push - tag volumes: - name: gopath temp: {} --- kind: pipeline name: linux-arm64 platform: os: linux arch: arm64 steps: - name: test image: golang:1.11 commands: - go test -v ./... volumes: - name: gopath path: /go - name: build image: golang:1.11 commands: - "go build -ldflags \"-extldflags \\\\\"-static\\\\\"\" -o release/linux/arm64/drone-server github.com/drone/drone/cmd/drone-server" - CGO_ENABLED=0 go build -o release/linux/arm64/drone-agent github.com/drone/drone/cmd/drone-agent - CGO_ENABLED=0 go build -o release/linux/arm64/drone-controller github.com/drone/drone/cmd/drone-controller volumes: - name: gopath path: /go when: event: - push - tag - name: publish_agent image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-arm64 dockerfile: docker/Dockerfile.agent.linux.arm64 password: from_secret: docker_password repo: drone/agent username: from_secret: docker_username when: event: - push - tag - name: publish_controller image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-arm64 dockerfile: docker/Dockerfile.controller.linux.arm64 password: from_secret: docker_password repo: drone/controller username: from_secret: docker_username when: event: - push - tag - name: publish_server image: plugins/docker settings: auto_tag: true auto_tag_suffix: linux-arm64 dockerfile: docker/Dockerfile.server.linux.arm64 password: from_secret: docker_password repo: drone/drone username: from_secret: docker_username when: event: - push - tag volumes: - name: gopath temp: {} --- kind: pipeline name: manifest platform: os: linux arch: amd64 steps: - name: server image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/manifest.server.tmpl username: from_secret: docker_username when: event: - push - tag - name: controller image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/manifest.controller.tmpl username: from_secret: docker_username when: event: - push - tag - name: agent image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/manifest.agent.tmpl username: from_secret: docker_username when: event: - push - tag depends_on: - linux-amd64 - linux-arm - linux-arm64 ...