mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-23 08:56:29 +00:00
8da0ee47f7
use yaml aliases (https://yaml.org/spec/1.2.2/#3222-anchors-and-aliases) to have pipeline `variables` Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> Co-authored-by: Anbraten <anton@ju60.de>
326 lines
10 KiB
YAML
326 lines
10 KiB
YAML
depends_on:
|
|
- test
|
|
- web
|
|
|
|
variables:
|
|
- &golang_image 'golang:1.18'
|
|
- &node_image 'node:16-alpine'
|
|
- &xgo_image 'techknowlogick/xgo:go-1.18.x'
|
|
- &xgo_version 'go-1.18.x'
|
|
|
|
pipeline:
|
|
vendor:
|
|
image: *golang_image
|
|
commands:
|
|
- go mod vendor
|
|
|
|
###############
|
|
# S e r v e r #
|
|
###############
|
|
build-web:
|
|
image: *node_image
|
|
commands:
|
|
- cd web/
|
|
- yarn install --frozen-lockfile
|
|
- yarn build
|
|
|
|
cross-compile-server:
|
|
image: *xgo_image
|
|
commands:
|
|
- apt update
|
|
- apt install -y tree
|
|
- make cross-compile-server
|
|
environment:
|
|
PLATFORMS: linux|arm/v7;linux|arm64/v8;linux|amd64;linux|ppc64le
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
XGO_VERSION: *xgo_version
|
|
|
|
publish-server-dryrun:
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
group: docker
|
|
settings:
|
|
dry_run: true
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: test
|
|
when:
|
|
event: pull_request
|
|
|
|
publish-server-alpine-dryrun:
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
group: docker
|
|
settings:
|
|
dry_run: true
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: next-alpine
|
|
when:
|
|
event: pull_request
|
|
|
|
publish-next-server:
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
group: docker
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: next
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|
|
|
|
publish-next-server-alpine:
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
group: docker
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: next-alpine
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|
|
|
|
publish-release-branch-server:
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
group: docker
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: ${CI_COMMIT_BRANCH##release/}
|
|
when:
|
|
branch: release/*
|
|
event: push
|
|
|
|
publish-release-branch-server-alpine:
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
group: docker
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: ${CI_COMMIT_BRANCH##release/}
|
|
when:
|
|
branch: release/*
|
|
event: push
|
|
|
|
release-server:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
# remove 'latest' on older version branches to avoid accidental downgrade
|
|
tag: [latest, "${CI_COMMIT_TAG}"]
|
|
when:
|
|
event: tag
|
|
|
|
release-server-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-server
|
|
dockerfile: docker/Dockerfile.server.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
# remove 'latest-alpine' on older version branches to avoid accidental downgrade
|
|
tag: [latest-alpine, "${CI_COMMIT_TAG}-alpine"]
|
|
when:
|
|
event: tag
|
|
|
|
#############
|
|
# A g e n t #
|
|
#############
|
|
|
|
publish-agent-dryrun:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
settings:
|
|
dry_run: true
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64
|
|
tag: test
|
|
when:
|
|
event: pull_request
|
|
|
|
publish-next-agent:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64
|
|
tag: next
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|
|
|
|
publish-next-agent-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: next-alpine
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|
|
|
|
publish-release-branch-agent:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64
|
|
tag: ${CI_COMMIT_BRANCH##release/}
|
|
when:
|
|
branch: release/*
|
|
event: push
|
|
|
|
publish-release-branch-agent-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: ${CI_COMMIT_BRANCH##release/}
|
|
when:
|
|
branch: release/*
|
|
event: push
|
|
|
|
release-agent:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64
|
|
# remove 'latest' on older version branches to avoid accidental downgrade
|
|
tag: [latest, "${CI_COMMIT_TAG}"]
|
|
when:
|
|
event: tag
|
|
|
|
release-agent-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-agent
|
|
dockerfile: docker/Dockerfile.agent.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
# remove 'latest-alpine' on older version branches to avoid accidental downgrade
|
|
tag: [latest-alpine, "${CI_COMMIT_TAG}-alpine"]
|
|
when:
|
|
event: tag
|
|
|
|
#########
|
|
# C L I #
|
|
#########
|
|
|
|
publish-cli-dryrun:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
settings:
|
|
dry_run: true
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64
|
|
tag: test
|
|
when:
|
|
event: pull_request
|
|
|
|
publish-next-cli:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64
|
|
tag: next
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|
|
|
|
publish-next-cli-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: next-alpine
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|
|
|
|
publish-release-branch-cli:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64
|
|
tag: ${CI_COMMIT_BRANCH##release/}
|
|
when:
|
|
branch: release/*
|
|
event: push
|
|
|
|
publish-release-branch-cli-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
tag: ${CI_COMMIT_BRANCH##release/}
|
|
when:
|
|
branch: release/*
|
|
event: push
|
|
|
|
release-cli:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [docker_username, docker_password]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,windows/amd64,darwin/amd64,darwin/arm64,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64
|
|
# remove 'latest' on older version branches to avoid accidental downgrade
|
|
tag: [latest, "${CI_COMMIT_TAG}"]
|
|
when:
|
|
event: tag
|
|
|
|
release-cli-alpine:
|
|
group: docker
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
secrets: [ docker_username, docker_password ]
|
|
settings:
|
|
repo: woodpeckerci/woodpecker-cli
|
|
dockerfile: docker/Dockerfile.cli.alpine.multiarch
|
|
platforms: linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le
|
|
# remove 'latest-alpine' on older version branches to avoid accidental downgrade
|
|
tag: [latest-alpine, "${CI_COMMIT_TAG}-alpine"]
|
|
when:
|
|
event: tag
|