diff --git a/.drone.yml b/.drone.yml
index bdbcf63..39a964a 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -1,15 +1,11 @@
---
kind: pipeline
name: lint
-
platform:
- os: linux
arch: amd64
-
+ os: linux
steps:
-- name: yapf
- image: python:3.9
- commands:
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry config experimental.new-installer false
@@ -17,10 +13,9 @@ steps:
- poetry run yapf -dr ./dockerautotag
environment:
PY_COLORS: 1
-
-- name: flake8
image: python:3.9
- commands:
+ name: yapf
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry config experimental.new-installer false
@@ -28,100 +23,89 @@ steps:
- poetry run flake8 ./dockerautotag
environment:
PY_COLORS: 1
-
+ image: python:3.9
+ name: flake8
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
-
---
-kind: pipeline
-name: test
-
-platform:
- os: linux
- arch: amd64
-
-steps:
-- name: fetch
- image: python:3.9
- commands:
- - git fetch -tq
-
-- name: python36-pytest
- image: python:3.6
- commands:
- - pip install poetry poetry-dynamic-versioning -qq
- - poetry config experimental.new-installer false
- - poetry install
- - poetry version
- - poetry run docker-autotag --help
- environment:
- PY_COLORS: 1
- depends_on:
- - fetch
-
-- name: python37-pytest
- image: python:3.7
- commands:
- - pip install poetry poetry-dynamic-versioning -qq
- - poetry config experimental.new-installer false
- - poetry install
- - poetry version
- - poetry run docker-autotag --help
- environment:
- PY_COLORS: 1
- depends_on:
- - fetch
-
-- name: python38-pytest
- image: python:3.8
- commands:
- - pip install poetry poetry-dynamic-versioning -qq
- - poetry config experimental.new-installer false
- - poetry install
- - poetry version
- - poetry run docker-autotag --help
- environment:
- PY_COLORS: 1
- depends_on:
- - fetch
-
-- name: python39-pytest
- image: python:3.9
- commands:
- - pip install poetry poetry-dynamic-versioning -qq
- - poetry config experimental.new-installer false
- - poetry install
- - poetry version
- - poetry run docker-autotag --help
- environment:
- PY_COLORS: 1
- depends_on:
- - fetch
-
-trigger:
- ref:
- - refs/heads/main
- - refs/tags/**
- - refs/pull/**
-
depends_on:
- lint
-
+kind: pipeline
+name: test
+platform:
+ arch: amd64
+ os: linux
+steps:
+- commands:
+ - git fetch -tq
+ image: python:3.9
+ name: fetch
+- commands:
+ - pip install poetry poetry-dynamic-versioning -qq
+ - poetry config experimental.new-installer false
+ - poetry install
+ - poetry version
+ - poetry run docker-autotag --help
+ depends_on:
+ - fetch
+ environment:
+ PY_COLORS: 1
+ image: python:3.6
+ name: python36-pytest
+- commands:
+ - pip install poetry poetry-dynamic-versioning -qq
+ - poetry config experimental.new-installer false
+ - poetry install
+ - poetry version
+ - poetry run docker-autotag --help
+ depends_on:
+ - fetch
+ environment:
+ PY_COLORS: 1
+ image: python:3.7
+ name: python37-pytest
+- commands:
+ - pip install poetry poetry-dynamic-versioning -qq
+ - poetry config experimental.new-installer false
+ - poetry install
+ - poetry version
+ - poetry run docker-autotag --help
+ depends_on:
+ - fetch
+ environment:
+ PY_COLORS: 1
+ image: python:3.8
+ name: python38-pytest
+- commands:
+ - pip install poetry poetry-dynamic-versioning -qq
+ - poetry config experimental.new-installer false
+ - poetry install
+ - poetry version
+ - poetry run docker-autotag --help
+ depends_on:
+ - fetch
+ environment:
+ PY_COLORS: 1
+ image: python:3.9
+ name: python39-pytest
+trigger:
+ ref:
+ - refs/heads/main
+ - refs/tags/**
+ - refs/pull/**
---
+depends_on:
+- test
kind: pipeline
name: security
-
platform:
- os: linux
arch: amd64
-
+ os: linux
steps:
-- name: bandit
- image: python:3.9
- commands:
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry config experimental.new-installer false
@@ -129,51 +113,45 @@ steps:
- poetry run bandit -r ./dockerautotag -x ./dockerautotag/test
environment:
PY_COLORS: 1
-
+ image: python:3.9
+ name: bandit
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
-
-depends_on:
-- test
-
---
+depends_on:
+- security
kind: pipeline
name: build-package
-
platform:
- os: linux
arch: amd64
-
+ os: linux
steps:
-- name: build
- image: python:3.9
- commands:
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
-
-- name: checksum
- image: alpine
- commands:
+ image: python:3.9
+ name: build
+- commands:
- cd dist/ && sha256sum * > ../sha256sum.txt
-
-- name: changelog-generate
- image: thegeeklab/git-chglog
- commands:
+ image: alpine
+ name: checksum
+- 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:
+ - git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased
+ unreleased}
+ image: thegeeklab/git-chglog
+ name: changelog-generate
+- commands:
- prettier CHANGELOG.md
- prettier -w CHANGELOG.md
-
-- name: publish-github
- image: plugins/github-release
+ image: thegeeklab/alpine-tools
+ name: changelog-format
+- image: plugins/github-release
+ name: publish-github
settings:
api_key:
from_secret: github_token
@@ -186,10 +164,7 @@ steps:
when:
ref:
- refs/tags/**
-
-- name: publish-pypi
- image: python:3.9
- commands:
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry publish -n
@@ -198,37 +173,35 @@ steps:
from_secret: pypi_password
POETRY_HTTP_BASIC_PYPI_USERNAME:
from_secret: pypi_username
+ image: python:3.9
+ name: publish-pypi
when:
ref:
- refs/tags/**
-
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
-
+---
depends_on:
- security
-
----
kind: pipeline
name: build-container-amd64
-
platform:
- os: linux
arch: amd64
-
+ os: linux
steps:
-- name: build
- image: python:3.9
- commands:
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
-
-- name: dryrun
+ image: python:3.9
+ name: build
+- depends_on:
+ - build
image: thegeeklab/drone-docker:19
+ name: dryrun
settings:
dockerfile: docker/Dockerfile.amd64
dry_run: true
@@ -240,11 +213,10 @@ steps:
when:
ref:
- refs/pull/**
- depends_on:
- - build
-
-- name: publish-dockerhub
+- depends_on:
+ - dryrun
image: thegeeklab/drone-docker:19
+ name: publish-dockerhub
settings:
auto_tag: true
auto_tag_suffix: amd64
@@ -258,11 +230,10 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
- depends_on:
+- depends_on:
- dryrun
-
-- name: publish-quay
image: thegeeklab/drone-docker:19
+ name: publish-quay
settings:
auto_tag: true
auto_tag_suffix: amd64
@@ -277,36 +248,30 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
- depends_on:
- - dryrun
-
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
-
+---
depends_on:
- security
-
----
kind: pipeline
name: build-container-arm64
-
platform:
- os: linux
arch: arm64
-
+ os: linux
steps:
-- name: build
- image: python:3.9
- commands:
+- commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
-
-- name: dryrun
+ image: python:3.9
+ name: build
+- depends_on:
+ - build
image: thegeeklab/drone-docker:19
+ name: dryrun
settings:
dockerfile: docker/Dockerfile.arm64
dry_run: true
@@ -318,11 +283,10 @@ steps:
when:
ref:
- refs/pull/**
- depends_on:
- - build
-
-- name: publish-dockerhub
+- depends_on:
+ - dryrun
image: thegeeklab/drone-docker:19
+ name: publish-dockerhub
settings:
auto_tag: true
auto_tag_suffix: arm64
@@ -336,11 +300,10 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
- depends_on:
+- depends_on:
- dryrun
-
-- name: publish-quay
image: thegeeklab/drone-docker:19
+ name: publish-quay
settings:
auto_tag: true
auto_tag_suffix: arm64
@@ -355,39 +318,34 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
- depends_on:
- - dryrun
-
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
-
+---
depends_on:
- security
-
----
kind: pipeline
name: build-container-arm
-
platform:
- os: linux
arch: arm
-
+ os: linux
steps:
-- name: build
- image: python:3.9-alpine
- commands:
- - apk add -Uq --no-cache build-base openssl-dev libffi-dev musl-dev python3-dev git cargo
+- commands:
+ - apk add -Uq --no-cache build-base openssl-dev libffi-dev musl-dev python3-dev
+ git cargo
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
environment:
CARGO_NET_GIT_FETCH_WITH_CLI: true
-
-- name: dryrun
+ image: python:3.9-alpine
+ name: build
+- depends_on:
+ - build
image: thegeeklab/drone-docker:19
+ name: dryrun
settings:
dockerfile: docker/Dockerfile.arm
dry_run: true
@@ -399,11 +357,10 @@ steps:
when:
ref:
- refs/pull/**
- depends_on:
- - build
-
-- name: publish-dockerhub
+- depends_on:
+ - dryrun
image: thegeeklab/drone-docker:19
+ name: publish-dockerhub
settings:
auto_tag: true
auto_tag_suffix: arm
@@ -417,11 +374,10 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
- depends_on:
+- depends_on:
- dryrun
-
-- name: publish-quay
image: thegeeklab/drone-docker:19
+ name: publish-quay
settings:
auto_tag: true
auto_tag_suffix: arm
@@ -436,29 +392,25 @@ steps:
ref:
- refs/heads/main
- refs/tags/**
- depends_on:
- - dryrun
-
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
-
-depends_on:
-- security
-
---
+depends_on:
+- build-package
+- build-container-amd64
+- build-container-arm64
+- build-container-arm
kind: pipeline
name: notifications
-
platform:
- os: linux
arch: amd64
-
+ os: linux
steps:
-- name: manifest-dockerhub
- image: plugins/manifest
+- image: plugins/manifest
+ name: manifest-dockerhub
settings:
auto_tag: true
ignore_missing: true
@@ -470,9 +422,8 @@ steps:
when:
status:
- success
-
-- name: manifest-quay
- image: plugins/manifest
+- image: plugins/manifest
+ name: manifest-quay
settings:
auto_tag: true
ignore_missing: true
@@ -484,11 +435,7 @@ steps:
when:
status:
- success
-
-- name: pushrm-dockerhub
- pull: always
- image: chko/docker-pushrm:1
- environment:
+- environment:
DOCKER_PASS:
from_secret: docker_password
DOCKER_USER:
@@ -496,24 +443,25 @@ steps:
PUSHRM_FILE: README.md
PUSHRM_SHORT: Create docker tags from a given version string
PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME}
+ image: chko/docker-pushrm:1
+ name: pushrm-dockerhub
+ pull: always
when:
status:
- success
-
-- name: pushrm-quay
- pull: always
- image: chko/docker-pushrm:1
- environment:
+- environment:
APIKEY__QUAY_IO:
from_secret: quay_token
PUSHRM_FILE: README.md
PUSHRM_TARGET: quay.io/thegeeklab/${DRONE_REPO_NAME}
+ image: chko/docker-pushrm:1
+ name: pushrm-quay
+ pull: always
when:
status:
- success
-
-- name: matrix
- image: plugins/matrix
+- image: plugins/matrix
+ name: matrix
settings:
homeserver:
from_secret: matrix_homeserver
@@ -521,14 +469,15 @@ steps:
from_secret: matrix_password
roomid:
from_secret: matrix_roomid
- template: "Status: **{{ build.status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}
Message: {{ build.message }}"
+ template: 'Status: **{{ build.status }}**
Build: [{{ repo.Owner }}/{{ repo.Name
+ }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}
Message:
+ {{ build.message }}'
username:
from_secret: matrix_username
when:
status:
- success
- failure
-
trigger:
ref:
- refs/heads/main
@@ -536,15 +485,8 @@ trigger:
status:
- success
- failure
-
-depends_on:
-- build-package
-- build-container-amd64
-- build-container-arm64
-- build-container-arm
-
---
kind: signature
-hmac: ad96c3cb18d43b6185a48622700f06eff625aa16f31d06e1c65e649907699a9a
+hmac: d4ac321270a199e12b7bd47a15f38bfbfcb301fc394440a079bb5fe6962948e3
...