diff --git a/.drone.jsonnet b/.drone.jsonnet
deleted file mode 100644
index 8190d82..0000000
--- a/.drone.jsonnet
+++ /dev/null
@@ -1,246 +0,0 @@
-local PipelineTest = {
- kind: 'pipeline',
- name: 'test',
- platform: {
- os: 'linux',
- arch: 'amd64',
- },
- steps: [
- {
- name: 'lint',
- image: 'koalaman/shellcheck-alpine:stable',
- commands: [
- 'shellcheck ./wait-for',
- ],
- },
- {
- name: 'test',
- image: 'bats/bats',
- commands: [
- 'bats ./wait-for.bats',
- ],
- },
- ],
- trigger: {
- ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
- },
-};
-
-local PipelineBuildPackage = {
- kind: 'pipeline',
- name: 'build-package',
- platform: {
- os: 'linux',
- arch: 'amd64',
- },
- steps: [
- {
- name: 'checksum',
- image: 'alpine',
- commands: [
- 'sha256sum wait-for > sha256sum.txt',
- ],
- },
- {
- name: 'changelog-generate',
- image: 'thegeeklab/git-chglog',
- commands: [
- 'git fetch -tq',
- 'git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased}',
- ],
- },
- {
- name: 'changelog-format',
- image: 'thegeeklab/alpine-tools',
- commands: [
- 'prettier CHANGELOG.md',
- 'prettier -w CHANGELOG.md',
- ],
- },
- {
- name: 'publish-github',
- image: 'plugins/github-release',
- settings: {
- overwrite: true,
- api_key: { from_secret: 'github_token' },
- files: ['wait-for', 'sha256sum.txt'],
- title: '${DRONE_TAG}',
- note: 'CHANGELOG.md',
- },
- when: {
- ref: ['refs/tags/**'],
- },
- },
- ],
- depends_on: [
- 'test',
- ],
- trigger: {
- ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
- },
-};
-
-local PipelineBuildContainer(arch='amd64') = {
- kind: 'pipeline',
- name: 'build-container-' + arch,
- platform: {
- os: 'linux',
- arch: arch,
- },
- steps: [
- {
- name: 'dryrun',
- image: 'thegeeklab/drone-docker-buildx:20',
- settings: {
- dry_run: true,
- dockerfile: 'docker/Dockerfile.' + arch,
- repo: 'thegeeklab/${DRONE_REPO_NAME}',
- username: { from_secret: 'docker_username' },
- password: { from_secret: 'docker_password' },
- },
- when: {
- ref: ['refs/pull/**'],
- },
- },
- {
- name: 'publish-dockerhub',
- image: 'thegeeklab/drone-docker-buildx:20',
- settings: {
- auto_tag: true,
- auto_tag_suffix: arch,
- dockerfile: 'docker/Dockerfile.' + arch,
- repo: 'thegeeklab/${DRONE_REPO_NAME}',
- username: { from_secret: 'docker_username' },
- password: { from_secret: 'docker_password' },
- },
- when: {
- ref: ['refs/heads/main', 'refs/tags/**'],
- },
- },
- {
- name: 'publish-quay',
- image: 'thegeeklab/drone-docker-buildx:20',
- settings: {
- auto_tag: true,
- auto_tag_suffix: arch,
- dockerfile: 'docker/Dockerfile.' + arch,
- registry: 'quay.io',
- repo: 'quay.io/thegeeklab/${DRONE_REPO_NAME}',
- username: { from_secret: 'quay_username' },
- password: { from_secret: 'quay_password' },
- },
- when: {
- ref: ['refs/heads/main', 'refs/tags/**'],
- },
- },
- ],
- depends_on: [
- 'test',
- ],
- trigger: {
- ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
- },
-};
-
-local PipelineNotifications = {
- kind: 'pipeline',
- name: 'notifications',
- platform: {
- os: 'linux',
- arch: 'amd64',
- },
- steps: [
- {
- image: 'plugins/manifest',
- name: 'manifest-dockerhub',
- settings: {
- ignore_missing: true,
- auto_tag: true,
- username: { from_secret: 'docker_username' },
- password: { from_secret: 'docker_password' },
- spec: 'docker/manifest.tmpl',
- },
- when: {
- status: ['success'],
- },
- },
- {
- image: 'plugins/manifest',
- name: 'manifest-quay',
- settings: {
- ignore_missing: true,
- auto_tag: true,
- username: { from_secret: 'quay_username' },
- password: { from_secret: 'quay_password' },
- spec: 'docker/manifest-quay.tmpl',
- },
- when: {
- status: ['success'],
- },
- },
- {
- name: 'pushrm-dockerhub',
- pull: 'always',
- image: 'chko/docker-pushrm:1',
- environment: {
- DOCKER_PASS: {
- from_secret: 'docker_password',
- },
- DOCKER_USER: {
- from_secret: 'docker_username',
- },
- PUSHRM_FILE: 'README.md',
- PUSHRM_SHORT: 'Poor-mans docker service synchronizer',
- PUSHRM_TARGET: 'thegeeklab/${DRONE_REPO_NAME}',
- },
- when: {
- status: ['success'],
- },
- },
- {
- name: 'pushrm-quay',
- pull: 'always',
- image: 'chko/docker-pushrm:1',
- environment: {
- APIKEY__QUAY_IO: {
- from_secret: 'quay_token',
- },
- PUSHRM_FILE: 'README.md',
- PUSHRM_TARGET: 'quay.io/thegeeklab/${DRONE_REPO_NAME}',
- },
- when: {
- status: ['success'],
- },
- },
- {
- name: 'matrix',
- image: 'thegeeklab/drone-matrix',
- settings: {
- homeserver: { from_secret: 'matrix_homeserver' },
- roomid: { from_secret: 'matrix_roomid' },
- template: 'Status: **{{ build.Status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.Link }}){{#if build.Branch}} ({{ build.Branch }}){{/if}} by {{ commit.Author }}
Message: {{ commit.Message.Title }}',
- username: { from_secret: 'matrix_username' },
- password: { from_secret: 'matrix_password' },
- },
- when: {
- status: ['success', 'failure'],
- },
- },
- ],
- depends_on: [
- 'build-container-amd64',
- 'build-container-arm64',
- ],
- trigger: {
- ref: ['refs/heads/main', 'refs/tags/**'],
- status: ['success', 'failure'],
- },
-};
-
-[
- PipelineTest,
- PipelineBuildPackage,
- PipelineBuildContainer(arch='amd64'),
- PipelineBuildContainer(arch='arm64'),
- PipelineNotifications,
-]
diff --git a/.drone.yml b/.drone.yml
index 69514e5..c4b84cc 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -75,7 +75,7 @@ depends_on:
---
kind: pipeline
-name: build-container-amd64
+name: build-container
platform:
os: linux
@@ -85,13 +85,15 @@ steps:
- name: dryrun
image: thegeeklab/drone-docker-buildx:20
settings:
- dockerfile: docker/Dockerfile.amd64
+ dockerfile: Dockerfile.multiarch
dry_run: true
- password:
- from_secret: docker_password
+ platforms:
+ - linux/amd64
+ - linux/arm64
+ - linux/arm/v7
+ - linux/arm/v6
+ provenance: false
repo: thegeeklab/${DRONE_REPO_NAME}
- username:
- from_secret: docker_username
when:
ref:
- refs/pull/**
@@ -100,10 +102,15 @@ steps:
image: thegeeklab/drone-docker-buildx:20
settings:
auto_tag: true
- auto_tag_suffix: amd64
- dockerfile: docker/Dockerfile.amd64
+ dockerfile: Dockerfile.multiarch
password:
from_secret: docker_password
+ platforms:
+ - linux/amd64
+ - linux/arm64
+ - linux/arm/v7
+ - linux/arm/v6
+ provenance: false
repo: thegeeklab/${DRONE_REPO_NAME}
username:
from_secret: docker_username
@@ -111,80 +118,22 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
+ depends_on:
+ - dryrun
- name: publish-quay
image: thegeeklab/drone-docker-buildx:20
settings:
auto_tag: true
- auto_tag_suffix: amd64
- dockerfile: docker/Dockerfile.amd64
- password:
- from_secret: quay_password
- registry: quay.io
- repo: quay.io/thegeeklab/${DRONE_REPO_NAME}
- username:
- from_secret: quay_username
- when:
- ref:
- - refs/heads/main
- - refs/tags/**
-
-trigger:
- ref:
- - refs/heads/main
- - refs/tags/**
- - refs/pull/**
-
-depends_on:
- - test
-
----
-kind: pipeline
-name: build-container-arm64
-
-platform:
- os: linux
- arch: arm64
-
-steps:
- - name: dryrun
- image: thegeeklab/drone-docker-buildx:20
- settings:
- dockerfile: docker/Dockerfile.arm64
- dry_run: true
- password:
- from_secret: docker_password
- repo: thegeeklab/${DRONE_REPO_NAME}
- username:
- from_secret: docker_username
- when:
- ref:
- - refs/pull/**
-
- - name: publish-dockerhub
- image: thegeeklab/drone-docker-buildx:20
- settings:
- auto_tag: true
- auto_tag_suffix: arm64
- dockerfile: docker/Dockerfile.arm64
- password:
- from_secret: docker_password
- repo: thegeeklab/${DRONE_REPO_NAME}
- username:
- from_secret: docker_username
- when:
- ref:
- - refs/heads/main
- - refs/tags/**
-
- - name: publish-quay
- image: thegeeklab/drone-docker-buildx:20
- settings:
- auto_tag: true
- auto_tag_suffix: arm64
- dockerfile: docker/Dockerfile.arm64
+ dockerfile: Dockerfile.multiarch
password:
from_secret: quay_password
+ platforms:
+ - linux/amd64
+ - linux/arm64
+ - linux/arm/v7
+ - linux/arm/v6
+ provenance: false
registry: quay.io
repo: quay.io/thegeeklab/${DRONE_REPO_NAME}
username:
@@ -193,6 +142,8 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
+ depends_on:
+ - dryrun
trigger:
ref:
@@ -212,34 +163,6 @@ platform:
arch: amd64
steps:
- - name: manifest-dockerhub
- image: plugins/manifest
- settings:
- auto_tag: true
- ignore_missing: true
- password:
- from_secret: docker_password
- spec: docker/manifest.tmpl
- username:
- from_secret: docker_username
- when:
- status:
- - success
-
- - name: manifest-quay
- image: plugins/manifest
- settings:
- auto_tag: true
- ignore_missing: true
- password:
- from_secret: quay_password
- spec: docker/manifest-quay.tmpl
- username:
- from_secret: quay_username
- when:
- status:
- - success
-
- name: pushrm-dockerhub
pull: always
image: chko/docker-pushrm:1
@@ -293,11 +216,10 @@ trigger:
- failure
depends_on:
- - build-container-amd64
- - build-container-arm64
+ - build-container
---
kind: signature
-hmac: 3e7e2fbea98665a73dd5c58732d3a9f6b9e3cbade5fc8fb0b43e50d1f5297bc3
+hmac: c9ba430b27bdede43e21fdf8789eb962c9d7048062c7a7c274c08f52d7faeb63
...
diff --git a/docker/Dockerfile.amd64 b/Dockerfile.multiarch
similarity index 100%
rename from docker/Dockerfile.amd64
rename to Dockerfile.multiarch
diff --git a/docker/Dockerfile.arm64 b/docker/Dockerfile.arm64
deleted file mode 100644
index 16155d2..0000000
--- a/docker/Dockerfile.arm64
+++ /dev/null
@@ -1,16 +0,0 @@
-FROM arm64v8/alpine:3.17@sha256:41d876d4e44348d1c27445fdb0e64592e0eb926d4dbbcf09a3526dee7e628329
-
-LABEL maintainer="Robert Kaussow "
-LABEL org.opencontainers.image.authors="Robert Kaussow "
-LABEL org.opencontainers.image.title="wait-for"
-LABEL org.opencontainers.image.url="https://github.com/thegeeklab/wait-for"
-LABEL org.opencontainers.image.source="https://github.com/thegeeklab/wait-for"
-LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/wait-for"
-
-ADD wait-for /usr/local/bin/wait-for
-
-RUN apk --no-cache add netcat-openbsd
-
-USER root
-CMD []
-ENTRYPOINT ["/usr/local/bin/wait-for"]
diff --git a/docker/manifest-quay.tmpl b/docker/manifest-quay.tmpl
deleted file mode 100644
index 334fa53..0000000
--- a/docker/manifest-quay.tmpl
+++ /dev/null
@@ -1,18 +0,0 @@
-image: quay.io/thegeeklab/wait-for:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
-{{#if build.tags}}
-tags:
-{{#each build.tags}}
- - {{this}}
-{{/each}}
-{{/if}}
-manifests:
- - image: quay.io/thegeeklab/wait-for:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}amd64
- platform:
- architecture: amd64
- os: linux
-
- - image: quay.io/thegeeklab/wait-for:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm64
- platform:
- architecture: arm64
- os: linux
- variant: v8
diff --git a/docker/manifest.tmpl b/docker/manifest.tmpl
deleted file mode 100644
index 4807bd9..0000000
--- a/docker/manifest.tmpl
+++ /dev/null
@@ -1,18 +0,0 @@
-image: thegeeklab/wait-for:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
-{{#if build.tags}}
-tags:
-{{#each build.tags}}
- - {{this}}
-{{/each}}
-{{/if}}
-manifests:
- - image: thegeeklab/wait-for:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}amd64
- platform:
- architecture: amd64
- os: linux
-
- - image: thegeeklab/wait-for:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm64
- platform:
- architecture: arm64
- os: linux
- variant: v8