156 lines
3.3 KiB
YAML
156 lines
3.3 KiB
YAML
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: build-arm64
|
|
|
|
platform:
|
|
os: linux
|
|
arch: arm64
|
|
|
|
steps:
|
|
- name: frontend
|
|
image: node:24-alpine
|
|
commands:
|
|
- cd web
|
|
- npm install --network-timeout=100000
|
|
- npm run generate:api
|
|
- npm run build
|
|
|
|
- name: backend-commit
|
|
image: golang:1-alpine
|
|
commands:
|
|
- apk add --no-cache git
|
|
- go generate ./...
|
|
- go build -tags netgo -ldflags '-w -X git.happydns.org/happyDeliver/internal/version.Version=${DRONE_BRANCH}-${DRONE_COMMIT} -X main.build=${DRONE_BUILD_NUMBER}' -o happydeliver-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} ./cmd/happyDeliver
|
|
- ln happydeliver-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydeliver
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
when:
|
|
event:
|
|
exclude:
|
|
- tag
|
|
|
|
- name: backend-tag
|
|
image: golang:1-alpine
|
|
commands:
|
|
- apk add --no-cache git
|
|
- go generate ./...
|
|
- go build -tags netgo -ldflags '-w -X git.happydns.org/happyDeliver/internal/version.Version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -o happydeliver-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} ./cmd/happyDeliver/
|
|
- ln happydeliver-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} happydeliver
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
when:
|
|
event:
|
|
- tag
|
|
|
|
- name: build-commit macOS
|
|
image: golang:1-alpine
|
|
commands:
|
|
- apk add --no-cache git
|
|
- go build -tags netgo -ldflags '-w -X "git.happydns.org/happyDeliver/internal/version.Version=${DRONE_BRANCH}-${DRONE_COMMIT}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydeliver-darwin-${DRONE_STAGE_ARCH} ./cmd/happyDeliver/
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: darwin
|
|
GOARCH: arm64
|
|
when:
|
|
event:
|
|
exclude:
|
|
- tag
|
|
|
|
- name: build-tag macOS
|
|
image: golang:1-alpine
|
|
commands:
|
|
- apk add --no-cache git
|
|
- go build -tags netgo -ldflags '-w -X "git.happydns.org/happyDeliver/internal/version.Version=${DRONE_TAG##v}" -X main.build=${DRONE_BUILD_NUMBER}' -o happydeliver-darwin-${DRONE_STAGE_ARCH} ./cmd/happyDeliver/
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: darwin
|
|
GOARCH: arm64
|
|
when:
|
|
event:
|
|
- tag
|
|
|
|
- name: publish on Docker Hub
|
|
image: plugins/docker
|
|
settings:
|
|
repo: happydomain/happydeliver
|
|
auto_tag: true
|
|
auto_tag_suffix: ${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
|
|
dockerfile: Dockerfile
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
|
|
trigger:
|
|
branch:
|
|
exclude:
|
|
- renovate/*
|
|
event:
|
|
- cron
|
|
- push
|
|
- tag
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: build-amd64
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: publish on Docker Hub
|
|
image: plugins/docker
|
|
settings:
|
|
repo: happydomain/happydeliver
|
|
auto_tag: true
|
|
auto_tag_suffix: ${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}
|
|
dockerfile: Dockerfile
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
|
|
trigger:
|
|
branch:
|
|
exclude:
|
|
- renovate/*
|
|
event:
|
|
- cron
|
|
- push
|
|
- tag
|
|
|
|
---
|
|
kind: pipeline
|
|
name: docker-manifest
|
|
|
|
platform:
|
|
os: linux
|
|
arch: arm64
|
|
|
|
steps:
|
|
- name: publish on Docker Hub
|
|
image: plugins/manifest
|
|
settings:
|
|
auto_tag: true
|
|
ignore_missing: true
|
|
spec: .drone-manifest.yml
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
|
|
trigger:
|
|
branch:
|
|
exclude:
|
|
- renovate/*
|
|
event:
|
|
- cron
|
|
- push
|
|
- tag
|
|
|
|
depends_on:
|
|
- build-amd64
|
|
- build-arm64
|