Files
invertergui/.drone.yml
Nathan Coad ed326eb8ef
Some checks failed
continuous-integration/drone/push Build encountered an error
fix CI pipeline for multi-platform Docker builds and add manifest support
2026-02-19 13:27:27 +11:00

196 lines
4.8 KiB
YAML

kind: pipeline
type: docker
name: ci
trigger:
event:
- pull_request
- push
- tag
steps:
# - name: lint
# image: cache.coadcorp.com/library/golang:1.26
# environment:
# GOFLAGS: -mod=mod
# GOBIN: /usr/local/bin
# commands:
# - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8
# - golangci-lint version
# - golangci-lint run --timeout=5m
# - name: test
# image: cache.coadcorp.com/library/golang:1.26
# environment:
# GOFLAGS: -mod=mod
# commands:
# - go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
- name: build
image: cache.coadcorp.com/library/golang:1.26
environment:
GOFLAGS: -mod=mod
commands:
- CGO_ENABLED=0 go build -v ./cmd/invertergui
- name: docker-build-validate
image: gcr.io/kaniko-project/executor:v1.24.0
commands:
- /kaniko/executor --context "${DRONE_WORKSPACE}" --dockerfile "${DRONE_WORKSPACE}/Dockerfile" --no-push --destination registry.coadcorp.com/nathan/invertergui:pr-${DRONE_BUILD_NUMBER}
when:
event:
- pull_request
- name: docker-publish-commit-amd64
image: plugins/docker
settings:
registry: registry.coadcorp.com
repo: registry.coadcorp.com/nathan/invertergui
dockerfile: Dockerfile
platform: linux/amd64
username: nathan
password:
from_secret: registry_password
tags:
- ${DRONE_COMMIT_SHA}-linux-amd64
when:
event:
- push
- name: docker-publish-commit-arm64
image: plugins/docker
settings:
registry: registry.coadcorp.com
repo: registry.coadcorp.com/nathan/invertergui
dockerfile: Dockerfile
platform: linux/arm64
username: nathan
password:
from_secret: registry_password
tags:
- ${DRONE_COMMIT_SHA}-linux-arm64
when:
event:
- push
- name: docker-manifest-commit
image: plugins/manifest
settings:
registry: registry.coadcorp.com
username: nathan
password:
from_secret: registry_password
target: registry.coadcorp.com/nathan/invertergui:${DRONE_COMMIT_SHA}
template: registry.coadcorp.com/nathan/invertergui:${DRONE_COMMIT_SHA}-OS-ARCH
platforms:
- linux/amd64
- linux/arm64
when:
event:
- push
- name: docker-publish-latest-amd64
image: plugins/docker
settings:
registry: registry.coadcorp.com
repo: registry.coadcorp.com/nathan/invertergui
dockerfile: Dockerfile
platform: linux/amd64
username: nathan
password:
from_secret: registry_password
tags:
- latest-linux-amd64
when:
event:
- push
branch:
- main
- master
- name: docker-publish-latest-arm64
image: plugins/docker
settings:
registry: registry.coadcorp.com
repo: registry.coadcorp.com/nathan/invertergui
dockerfile: Dockerfile
platform: linux/arm64
username: nathan
password:
from_secret: registry_password
tags:
- latest-linux-arm64
when:
event:
- push
branch:
- main
- master
- name: docker-manifest-latest
image: plugins/manifest
settings:
registry: registry.coadcorp.com
username: nathan
password:
from_secret: registry_password
target: registry.coadcorp.com/nathan/invertergui:latest
template: registry.coadcorp.com/nathan/invertergui:latest-OS-ARCH
platforms:
- linux/amd64
- linux/arm64
when:
event:
- push
branch:
- main
- master
- name: docker-publish-release-amd64
image: plugins/docker
settings:
registry: registry.coadcorp.com
repo: registry.coadcorp.com/nathan/invertergui
dockerfile: Dockerfile
platform: linux/amd64
username: nathan
password:
from_secret: registry_password
tags:
- ${DRONE_TAG}-linux-amd64
when:
event:
- tag
- name: docker-publish-release-arm64
image: plugins/docker
settings:
registry: registry.coadcorp.com
repo: registry.coadcorp.com/nathan/invertergui
dockerfile: Dockerfile
platform: linux/arm64
username: nathan
password:
from_secret: registry_password
tags:
- ${DRONE_TAG}-linux-arm64
when:
event:
- tag
- name: docker-manifest-release
image: plugins/manifest
settings:
registry: registry.coadcorp.com
username: nathan
password:
from_secret: registry_password
target: registry.coadcorp.com/nathan/invertergui:${DRONE_TAG}
template: registry.coadcorp.com/nathan/invertergui:${DRONE_TAG}-OS-ARCH
platforms:
- linux/amd64
- linux/arm64
when:
event:
- tag