diff --git a/.woodpecker/docker.yml b/.woodpecker/docker.yml new file mode 100644 index 000000000..2e1200e80 --- /dev/null +++ b/.woodpecker/docker.yml @@ -0,0 +1,223 @@ +pipeline: + build-web: + image: node:16-alpine + commands: + - cd web/ + - yarn install --frozen-lockfile + - yarn build + + ############### + # S e r v e r # + ############### + + # TODO: needed until https://github.com/woodpecker-ci/woodpecker/pull/635 + build-server: + image: golang:1.16 + commands: + - make release-server + + publish-server-dryrun: + image: plugins/docker + group: docker + secrets: [docker_username, docker_password] + settings: + dry_run: true + repo: woodpeckerci/woodpecker-server + dockerfile: docker/Dockerfile.server + tag: next + when: + event: pull_request + + publish-server-alpine-dryrun: + image: plugins/docker + group: docker + secrets: [ docker_username, docker_password ] + settings: + dry_run: true + repo: woodpeckerci/woodpecker-server + dockerfile: docker/Dockerfile.server.alpine + tag: next-alpine + when: + event: pull_request + + publish-server: + image: plugins/docker + group: docker + secrets: [docker_username, docker_password] + settings: + repo: woodpeckerci/woodpecker-server + dockerfile: docker/Dockerfile.server + tag: next + when: + branch: ${CI_REPO_DEFAULT_BRANCH} + event: push + + publish-server-alpine: + image: plugins/docker + group: docker + secrets: [ docker_username, docker_password ] + settings: + repo: woodpeckerci/woodpecker-server + dockerfile: docker/Dockerfile.server.alpine + tag: next-alpine + when: + branch: ${CI_REPO_DEFAULT_BRANCH} + event: push + + release-server: + group: docker + image: plugins/docker + secrets: [docker_username, docker_password] + settings: + repo: woodpeckerci/woodpecker-server + dockerfile: docker/Dockerfile.server + tag: [latest, "${CI_COMMIT_TAG}"] + when: + event: tag + + release-server-alpine: + group: docker + image: plugins/docker + secrets: [ docker_username, docker_password ] + settings: + repo: woodpeckerci/woodpecker-server + dockerfile: docker/Dockerfile.server.alpine + 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-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-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 + + 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 + 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 + 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-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-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 + + 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 + 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 + tag: [latest-alpine, "${CI_COMMIT_TAG}-alpine"] + when: + event: tag + +depends_on: + - test + - web diff --git a/.woodpecker/main.yml b/.woodpecker/main.yml index 666a509a1..b8139c789 100644 --- a/.woodpecker/main.yml +++ b/.woodpecker/main.yml @@ -36,176 +36,6 @@ pipeline: when: event: tag - publish-server: - image: plugins/docker - group: bundle - secrets: [docker_username, docker_password] - settings: - repo: woodpeckerci/woodpecker-server - dockerfile: docker/Dockerfile.server - tag: next - when: - branch: ${CI_REPO_DEFAULT_BRANCH} - event: push - - publish-server-alpine: - image: plugins/docker - group: bundle - secrets: [ docker_username, docker_password ] - settings: - repo: woodpeckerci/woodpecker-server - dockerfile: docker/Dockerfile.server.alpine - tag: next-alpine - when: - branch: ${CI_REPO_DEFAULT_BRANCH} - event: push - - publish-agent-dryrun: - group: bundle - 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-agent: - group: bundle - 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 - tag: next - when: - branch: ${CI_REPO_DEFAULT_BRANCH} - event: push - - publish-agent-alpine: - group: bundle - 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-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-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 - tag: next - when: - branch: ${CI_REPO_DEFAULT_BRANCH} - event: push - - publish-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 - - release-server: - group: bundle - image: plugins/docker - secrets: [docker_username, docker_password] - settings: - repo: woodpeckerci/woodpecker-server - dockerfile: docker/Dockerfile.server - tag: [latest, "${CI_COMMIT_TAG}"] - when: - event: tag - - release-server-alpine: - group: bundle - image: plugins/docker - secrets: [ docker_username, docker_password ] - settings: - repo: woodpeckerci/woodpecker-server - dockerfile: docker/Dockerfile.server.alpine - tag: [latest-alpine, "${CI_COMMIT_TAG}-alpine"] - when: - event: tag - - release-agent: - group: bundle - 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 - tag: [latest, "${CI_COMMIT_TAG}"] - when: - event: tag - - release-agent-alpine: - group: bundle - 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: [latest-alpine, "${CI_COMMIT_TAG}-alpine"] - when: - event: tag - - 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 - 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 - tag: [latest-alpine, "${CI_COMMIT_TAG}-alpine"] - when: - event: tag - checksums: image: golang:1.16 commands: