From dd3c1184d67c773675dd661701604c8fb25c26a9 Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Tue, 25 Jan 2022 21:25:25 +0100 Subject: [PATCH] fix(ci): build armv7 and aarch64 images --- .drone.yml | 310 ++++++++++++++++++++++++++++++++++++++++++++++++-- manifest.tmpl | 10 +- 2 files changed, 311 insertions(+), 9 deletions(-) diff --git a/.drone.yml b/.drone.yml index 49e6d8c..c17ddd0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,7 +5,6 @@ name: linter platform: os: linux - arch: amd64 steps: - name: markdown lint @@ -42,6 +41,189 @@ trigger: exclude: - tag +--- +kind: pipeline +type: docker +name: dry-run-amd64 + +platform: + os: linux + arch: amd64 + +steps: +- name: build + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: false + dry_run: true + tags: latest-amd64 + repo: volkerraschek/postfixadmin-fetchmail + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + no_cache: true + volumes: + - name: docker_socket + path: /var/run/docker.sock + +- name: notify + image: drillster/drone-email + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + when: + status: + - changed + - failure + +volumes: +- name: docker_socket + host: + path: /var/run/docker.sock + +depends_on: +- linter + +trigger: + branch: + exclude: + - master + event: + - pull_request + - push + repo: + - volker.raschek/postfixadmin-fetchmail-docker + +--- +kind: pipeline +type: docker +name: dry-run-arm-v7 + +platform: + os: linux + arch: arm + +steps: +- name: build + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: false + dry_run: true + tags: latest-arm-v7 + repo: volkerraschek/postfixadmin-fetchmail + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + no_cache: true + +- name: notify + image: drillster/drone-email + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + volumes: + - name: docker_socket + path: /var/run/docker.sock + when: + status: + - changed + - failure + +volumes: +- name: docker_socket + host: + path: /var/run/docker.sock + +depends_on: +- linter + +trigger: + branch: + exclude: + - master + event: + - pull_request + - push + repo: + - volker.raschek/postfixadmin-fetchmail-docker + +--- +kind: pipeline +type: docker +name: dry-run-arm64-v8 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: false + dry_run: true + tags: latest-arm64-v8 + repo: volkerraschek/postfixadmin-fetchmail + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + no_cache: true + +- name: notify + image: drillster/drone-email + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + volumes: + - name: docker_socket + path: /var/run/docker.sock + when: + status: + - changed + - failure + +volumes: +- name: docker_socket + host: + path: /var/run/docker.sock + +depends_on: +- linter + +trigger: + branch: + exclude: + - master + event: + - pull_request + - push + repo: + - volker.raschek/postfixadmin-fetchmail-docker + --- kind: pipeline type: docker @@ -104,7 +286,7 @@ trigger: --- kind: pipeline type: docker -name: latest-armv7 +name: latest-arm-v7 platform: os: linux @@ -116,7 +298,66 @@ steps: settings: dockerfile: Dockerfile auto_tag: false - tags: latest-armv7 + tags: latest-arm-v7 + repo: volkerraschek/postfixadmin-fetchmail + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + no_cache: true + +- name: notify + image: drillster/drone-email + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + volumes: + - name: docker_socket + path: /var/run/docker.sock + when: + status: + - changed + - failure + +volumes: +- name: docker_socket + host: + path: /var/run/docker.sock + +depends_on: +- linter + +trigger: + branch: + - master + event: + - cron + - push + repo: + - volker.raschek/postfixadmin-fetchmail-docker + +--- +kind: pipeline +type: docker +name: latest-arm64-v8 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: false + tags: latest-arm64-v8 repo: volkerraschek/postfixadmin-fetchmail username: from_secret: container_image_registry_user @@ -199,7 +440,8 @@ steps: depends_on: - latest-amd64 -- latest-armv7 +- latest-arm-v7 +- latest-arm64-v8 trigger: branch: @@ -266,7 +508,7 @@ trigger: --- kind: pipeline type: docker -name: tagged-armv7 +name: tagged-arm-v7 platform: os: linux @@ -278,7 +520,60 @@ steps: settings: dockerfile: Dockerfile auto_tag: true - auto_tag_suffix: armv7 + auto_tag_suffix: arm-v7 + repo: volkerraschek/postfixadmin-fetchmail + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + no_cache: true + volumes: + - name: docker_socket + path: /var/run/docker.sock + +- name: notify + image: drillster/drone-email + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + when: + status: + - changed + - failure + +volumes: +- name: docker_socket + host: + path: /var/run/docker.sock + +trigger: + event: + - tag + repo: + - volker.raschek/postfixadmin-fetchmail-docker + +--- +kind: pipeline +type: docker +name: tagged-arm64-v8 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: true + auto_tag_suffix: arm64-v8 repo: volkerraschek/postfixadmin-fetchmail username: from_secret: container_image_registry_user @@ -355,7 +650,8 @@ steps: depends_on: - tagged-amd64 -- tagged-armv7 +- tagged-arm-v7 +- tagged-arm64-v8 trigger: event: diff --git a/manifest.tmpl b/manifest.tmpl index 3b2fda2..6a49926 100644 --- a/manifest.tmpl +++ b/manifest.tmpl @@ -13,8 +13,14 @@ manifests: architecture: amd64 os: linux - - image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7 + image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm-v7 platform: architecture: arm os: linux - variant: v7 \ No newline at end of file + variant: v7 + - + image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8 + platform: + architecture: arm64 + os: linux + variant: v8 \ No newline at end of file