Compare commits

...

347 Commits
v0.2.0 ... main

Author SHA1 Message Date
renovate[bot]
3a63829ae7
chore(deps): lock file maintenance (#335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 13:19:02 +02:00
renovate[bot]
2e60105935 chore(deps): update dependency ruff to v0.4.5 2024-05-27 03:12:43 +00:00
renovate[bot]
48858eb1c6 chore(docker): update python:3.12-alpine docker digest to 5365725 2024-05-23 06:31:30 +00:00
renovate[bot]
0184f49b36 chore(deps): update dependency pytest to v8.2.1 2024-05-20 11:53:31 +00:00
renovate[bot]
7380eaf2eb chore(deps): update dependency ruff to v0.4.4 2024-05-13 04:52:47 +00:00
renovate[bot]
81db3affad
chore(deps): lock file maintenance (#330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 12:14:48 +02:00
renovate[bot]
f6489fa0b5 chore(deps): update dependency ruff to v0.4.3 2024-05-06 09:45:50 +00:00
renovate[bot]
643296e083
chore(deps): lock file maintenance (#327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 10:28:41 +02:00
renovate[bot]
01fe9c85d3 chore(deps): update devdeps non-major 2024-04-29 03:20:30 +00:00
renovate[bot]
2120f70dc9 chore(deps): update dependency ruff to v0.4.1 2024-04-22 03:21:38 +00:00
renovate[bot]
0a3eb0b962 chore(deps): update dependency ruff to v0.3.7 2024-04-15 06:37:18 +00:00
renovate[bot]
42e31653c2
chore(deps): lock file maintenance (#319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 09:17:45 +02:00
renovate[bot]
ebd4eac587 chore(docker): update python:3.12-alpine docker digest to ef09762 2024-04-11 03:50:04 +00:00
renovate[bot]
c24a6b3cdd chore(deps): update devdeps non-major 2024-04-08 05:17:44 +00:00
renovate[bot]
5f042adcf3
chore(deps): update dependency pytest-cov to v5 (#320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 09:05:42 +02:00
renovate[bot]
31fd0eb50e
chore(deps): update quay.io/thegeeklab/wp-docker-buildx docker tag to v4 (#321)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 09:05:20 +02:00
renovate[bot]
35befa5aaa chore(docker): update python:3.12-alpine docker digest to c7eb5c9 2024-04-02 05:03:26 +00:00
renovate[bot]
9dcb54313b chore(deps): update dependency ruff to v0.3.3 2024-03-18 03:38:46 +00:00
renovate[bot]
01b2921d7d chore(docker): update python:3.12-alpine docker digest to 25a82f6 2024-03-17 04:33:49 +00:00
fd23fe40e7
ci: fix deprecated ruff command 2024-03-12 20:52:54 +01:00
renovate[bot]
0b81a2f5d5
chore(deps): lock file maintenance (#316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 09:39:11 +01:00
renovate[bot]
033d549aa0
chore(deps): update devdeps non-major (#315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2024-03-11 09:38:58 +01:00
renovate[bot]
30dadde4f4 chore(deps): update devdeps non-major 2024-03-04 04:10:09 +00:00
renovate[bot]
d5a3c5fca7
chore(deps): lock file maintenance (#313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 10:42:19 +01:00
renovate[bot]
f5f4a5be16 chore(deps): update dependency pytest to v8.0.2 2024-02-26 04:04:42 +00:00
renovate[bot]
ddd56aadee chore(deps): update devdeps non-major 2024-02-19 03:33:32 +00:00
10ece51322
[skip ci] revert renovate automerge config 2024-02-15 12:23:09 +01:00
529e701586
enable renovate on automerge branches 2024-02-09 23:08:31 +01:00
renovate[bot]
2852334ddc chore(docker): update python:3.12-alpine docker digest to 1a05012 2024-02-09 07:25:55 +00:00
0fb0e1124e
chore: bump ruff to v0.2.1 (#309) 2024-02-06 09:34:25 +01:00
renovate[bot]
2cdb9e67d6
chore(deps): update dependency pytest to v8 (#307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 09:05:08 +01:00
renovate[bot]
023495b89b chore(docker): update python:3.12-alpine docker digest to 14cfc61 2024-01-29 11:28:24 +00:00
renovate[bot]
47f575e95c
chore(deps): update quay.io/thegeeklab/wp-docker-buildx docker tag to v3 (#306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 11:29:29 +01:00
renovate[bot]
62c5469995 chore(deps): update dependency ruff to v0.1.14 2024-01-22 04:30:28 +00:00
renovate[bot]
9032f0e1aa chore(docker): update python:3.12-alpine docker digest to 801b54e 2024-01-20 00:34:33 +00:00
renovate[bot]
b6941b2851 chore(docker): update python:3.12-alpine docker digest to 4a156f7 2024-01-19 10:47:15 +00:00
renovate[bot]
e2443e73d4
chore(deps): lock file maintenance (#296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 21:57:38 +01:00
renovate[bot]
403dd9840b
chore(deps): update dependency ruff to v0.1.13 (#302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2024-01-15 20:39:53 +01:00
renovate[bot]
641c8bcfc1 chore(deps): update dependency ruff to v0.1.11 2024-01-08 03:46:06 +00:00
renovate[bot]
8e1309f07e chore(deps): update dependency pytest to v7.4.4 2024-01-01 03:48:11 +00:00
renovate[bot]
bd578c1550 chore(deps): update dependency ruff to v0.1.9 2023-12-25 03:58:49 +00:00
c389bb1ffe
disable renovate for python test matrix in ci 2023-12-24 00:03:57 +01:00
b57eac1205
use list style synatx and cleanup (#297) 2023-12-23 23:25:08 +01:00
renovate[bot]
210ead10a8 chore(deps): update dependency ruff to v0.1.8 2023-12-18 04:44:33 +00:00
42355fbb9b
cleanup unused env vars in ci 2023-12-17 14:08:00 +01:00
renovate[bot]
81feb30694 chore(deps): update dependency ruff to v0.1.7 2023-12-11 03:49:54 +00:00
renovate[bot]
d29b0dd77b chore(docker): update python:3.12-alpine docker digest to c793b92 2023-12-09 09:15:35 +00:00
20e2e6a8c7
ci: exclude dockerhub from linkcheck due to rate limiting 2023-12-07 09:08:27 +01:00
renovate[bot]
a177e97e61
chore(deps): update quay.io/thegeeklab/wp-docker-buildx docker tag to v2 (#292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:40:17 +01:00
renovate[bot]
1357353e3d
chore(deps): lock file maintenance (#290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 09:12:51 +01:00
renovate[bot]
c409b85022 chore(docker): update python:3.12-alpine docker digest to 09f18c1 2023-12-05 01:43:20 +00:00
cbd67653e1
fix settings for required status checks 2023-12-04 21:01:51 +01:00
renovate[bot]
347388472d chore(deps): update dependency ruff to v0.1.6 2023-11-20 04:21:30 +00:00
renovate[bot]
03ba6481c7 chore(deps): update dependency ruff to v0.1.5 2023-11-13 05:16:42 +00:00
efd778e162
chore: drop yapf and favor of the ruff formatter (#287) 2023-11-10 09:27:37 +01:00
renovate[bot]
77f087840d
chore(deps): update devdeps non-major (#284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 22:19:13 +01:00
e7dd82cf92
fix!: drop support for python 3.7 (#286) 2023-11-04 22:06:30 +01:00
3c4b7d9f9d
ci: cleanup matrix build name (#285) 2023-11-04 16:19:02 +01:00
renovate[bot]
e5ec7bb741 chore(docker): update python:3.12-alpine docker digest to a5d1738 2023-10-19 14:07:22 +00:00
584054dda0
ci: fix changelog generation 2023-10-18 13:59:25 +02:00
36cdffcca1
chore: replace linkcheck by lychee (#282) 2023-10-16 21:34:21 +02:00
d4fc4357cc
chore: replace git-chglog by git-sv (#281) 2023-10-16 15:42:52 +02:00
renovate[bot]
6f67c32841
chore(deps): lock file maintenance (#278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 14:29:07 +02:00
d5f06425dd
feat: add support for python 3.12 (#280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 14:15:31 +02:00
e867939a71
fix: remove deprecated distutils (#279) 2023-10-16 12:11:09 +02:00
renovate[bot]
42d61889e8
chore(deps): lock file maintenance (#273)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 14:58:08 +02:00
renovate[bot]
7f173f1423 chore(deps): update dependency ruff to v0.0.292 2023-10-09 03:07:23 +00:00
renovate[bot]
fa3e1c7fb8 chore(docker): update python:3.11-alpine docker digest to 3e73c0b 2023-10-03 12:44:57 +00:00
renovate[bot]
2edda529c6 chore(docker): update python:3.11-alpine docker digest to cd311c6 2023-09-29 17:25:54 +00:00
renovate[bot]
529fd0b8f5 chore(deps): update devdeps non-major 2023-09-25 03:05:44 +00:00
renovate[bot]
e8726e0f3b chore(deps): update dependency ruff to v0.0.290 2023-09-18 05:12:37 +00:00
renovate[bot]
5faea1240d chore(deps): update dependency pytest to v7.4.2 2023-09-11 03:06:57 +00:00
renovate[bot]
70f720dc3b chore(deps): update devdeps non-major 2023-09-04 03:53:21 +00:00
renovate[bot]
2d6fb5c6e7 chore(deps): update dependency ruff to v0.0.286 2023-08-28 04:44:19 +00:00
renovate[bot]
b7b229695c chore(docker): update python:3.11-alpine docker digest to 5d769f9 2023-08-26 09:32:40 +00:00
b21d62c78d
fix: use poetry-dynamic-versioning backend wrapper 2023-08-25 00:28:39 +02:00
renovate[bot]
12ef38313f
chore(deps): lock file maintenance (#249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 23:28:26 +02:00
f8f95fe649
ci: migrate to woodpecker (#265) 2023-08-24 23:24:38 +02:00
renovate[bot]
aacc74124a chore(deps): update dependency ruff to v0.0.285 2023-08-21 04:32:15 +00:00
renovate[bot]
96b589f59a chore(deps): update dependency ruff to v0.0.284 2023-08-14 03:25:28 +00:00
renovate[bot]
cdb138c41c chore(docker): update python:3.11-alpine docker digest to 603975e 2023-08-09 12:53:20 +00:00
renovate[bot]
70a4fa057c chore(docker): update python:3.11-alpine docker digest to 4352dc7 2023-08-09 06:19:05 +00:00
renovate[bot]
2a1d056adb chore(docker): update python:3.11-alpine docker digest to f54f860 2023-08-09 04:28:10 +00:00
renovate[bot]
7abc232810 chore(docker): update python:3.11-alpine docker digest to bd16cc5 2023-08-08 10:32:40 +00:00
renovate[bot]
3df02e4a3e chore(deps): update dependency ruff to v0.0.282 2023-08-07 04:05:26 +00:00
renovate[bot]
443269ae71 chore(deps): update dependency ruff to v0.0.280 2023-07-24 03:31:57 +00:00
renovate[bot]
fb81c8bdb8 chore(deps): update dependency ruff to v0.0.278 2023-07-17 04:47:24 +00:00
renovate[bot]
25e9bd47c4 chore(deps): update dependency ruff to v0.0.277 2023-07-10 04:32:36 +00:00
renovate[bot]
c2144e0f1b
chore(deps): update devdeps non-major (#254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2023-06-28 09:55:30 +02:00
renovate[bot]
b1e08ae0d1 chore(deps): update devdeps non-major 2023-06-19 04:40:30 +00:00
renovate[bot]
9be186eaba chore(docker): update python:3.11-alpine docker digest to 25df32b 2023-06-15 15:30:48 +00:00
renovate[bot]
24c4073be2 chore(deps): update devdeps non-major 2023-06-12 03:52:49 +00:00
renovate[bot]
9878326fc2 chore(docker): update python:3.11-alpine docker digest to 995c7fc 2023-06-08 03:26:21 +00:00
7f20729c37
fix: add stdout as fallback if no out file is defined (#248) 2023-05-30 14:07:30 +02:00
renovate[bot]
9cc91ca493
chore(deps): lock file maintenance (#231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 12:42:31 +02:00
renovate[bot]
677db3edd1
chore(deps): update devdeps non-major (#246) 2023-05-28 23:07:52 +02:00
25e1e420d6
chore: remove poetry experimental.new-installer flag (#247) 2023-05-28 15:18:43 +02:00
renovate[bot]
63c888c631 chore(docker): update python:3.11-alpine docker digest to 4e8e9a5 2023-05-12 21:16:31 +00:00
renovate[bot]
ee0753d4b7 chore(docker): update python:3.11-alpine docker digest to 2f2dadb 2023-05-12 12:17:53 +00:00
renovate[bot]
8df30bc6c0 chore(deps): update dependency ruff to v0.0.265 2023-05-08 04:27:54 +00:00
renovate[bot]
4cae9c5995 chore(docker): update python:3.11-alpine docker digest to 7210235 2023-05-03 23:18:17 +00:00
03d67ff147
fix bare url in contribution file (#241) 2023-05-03 09:31:23 +02:00
renovate[bot]
e8cc0165e4 chore(docker): update python:3.11-alpine docker digest to b639067 2023-05-03 06:33:59 +00:00
renovate[bot]
2c9fd53544 chore(deps): update dependency ruff to v0.0.263 2023-05-01 04:08:59 +00:00
renovate[bot]
f8ac7e81fe chore(deps): update devdeps non-major 2023-04-24 05:49:08 +00:00
f9ab6bb9f3
ci: switch to new codecov uploader (#237) 2023-04-17 16:22:15 +02:00
renovate[bot]
6fe925dd32 chore(deps): update devdeps non-major 2023-04-10 03:23:00 +00:00
renovate[bot]
9480584999 chore(docker): update python:3.11-alpine docker digest to 507818d 2023-04-08 08:03:01 +00:00
renovate[bot]
5ae3030353 chore(docker): update python:3.11-alpine docker digest to 5405826 2023-04-06 13:08:36 +00:00
renovate[bot]
19e20e7bf0 chore(docker): update python:3.11-alpine docker digest to 4b4078a 2023-03-30 06:43:00 +00:00
renovate[bot]
f630cb16de chore(docker): update python:3.11-alpine docker digest to e8cd6ca 2023-03-30 05:02:07 +00:00
renovate[bot]
25fe648f46 chore(deps): update dependency ruff to v0.0.259 2023-03-27 06:33:29 +00:00
renovate[bot]
6612a115c8 chore(docker): update python:3.11-alpine docker digest to 8af856d 2023-03-25 01:25:02 +00:00
renovate[bot]
ea1a771303 chore(docker): update python:3.11-alpine docker digest to 506eed4 2023-03-23 20:09:45 +00:00
renovate[bot]
f729a8bb98
chore(deps): lock file maintenance (#222) 2023-03-20 10:35:34 +01:00
renovate[bot]
32829d469d
fix(deps): update dependency python-json-logger to v2.0.7 (#226) 2023-03-20 10:34:54 +01:00
renovate[bot]
e91d02201d chore(deps): update dependency ruff to v0.0.257 2023-03-20 04:56:24 +00:00
renovate[bot]
9e0bd522f8 chore(docker): update python:3.11-alpine docker digest to 741e650 2023-03-14 17:12:56 +00:00
a1fbabd605
chore: exclude ruff linter rule UP038 (#224) 2023-03-07 14:21:42 +01:00
renovate[bot]
3f5a5ac6a2 chore(deps): update devdependencies (non-major) 2023-03-06 03:56:36 +00:00
renovate[bot]
38dc002456 chore(deps): update dependency ruff to v0.0.252 2023-02-27 06:53:57 +00:00
renovate[bot]
7dbdc9d2bc chore(docker): update python:3.11-alpine docker digest to 1a5c146 2023-02-25 14:04:09 +00:00
renovate[bot]
0bbc2922be chore(deps): update dependency ruff to v0.0.246 2023-02-13 10:48:37 +00:00
8fe82a7d65
refctor: migrate flake8 to ruff python linter (#216) 2023-02-12 13:40:45 +01:00
renovate[bot]
c356b55b9b chore(docker): update python:3.11-alpine docker digest to 8463061 2023-02-11 21:01:40 +00:00
16137e064c
ci: bump container build plugin to drone-docker-buildx:23 (#214) 2023-02-09 19:41:01 +01:00
renovate[bot]
57e8c9ffac chore(docker): update python:3.11-alpine docker digest to deb0f63 2023-02-09 16:49:37 +00:00
cbffcb6c79
fix drone-matrix template (#212) 2023-02-08 21:55:30 +01:00
renovate[bot]
d2fb6d7438
chore(deps): lock file maintenance (#207) 2023-02-08 10:03:33 +01:00
renovate[bot]
b3a481a7a1 chore(docker): update python:3.11-alpine docker digest to d8b0703 2023-02-04 11:54:27 +00:00
renovate[bot]
3bd1b660b4 chore(docker): update python:3.11-alpine docker digest to ca1298a 2023-01-24 11:50:17 +00:00
renovate[bot]
bf23653e19 chore(deps): update dependency pydocstyle to v6.3.0 2023-01-23 05:05:37 +00:00
renovate[bot]
805ef9b670 chore(docker): update python:3.11-alpine docker digest to 625383c 2023-01-18 13:03:20 +00:00
c886d6cc0f
refactor: use buildx for multiarch container builds (#205) 2023-01-16 09:10:30 +01:00
renovate[bot]
73b11be5d3 chore(deps): update devdependencies (non-major) 2023-01-16 02:53:02 +00:00
renovate[bot]
792e7eb6b1 chore(docker): update docker digests 2023-01-10 08:25:38 +00:00
renovate[bot]
af74262c0a
chore(deps): lock file maintenance (#199) 2023-01-09 21:17:36 +01:00
renovate[bot]
b7ac6fc58a chore(docker): update docker digests 2023-01-08 18:14:45 +00:00
a79e8c5b81
chore: remove support for arm32 (#203)
BREAKING CHANGE: We dropped the arm32 platform support and builds.
2023-01-08 16:12:16 +01:00
renovate[bot]
6080b89b69
chore(deps): update dependency flake8-isort to v6 (#200) 2023-01-03 14:15:16 +01:00
renovate[bot]
9d771d78c1 chore(deps): update devdependencies (non-major) 2022-12-26 04:49:02 +00:00
renovate[bot]
168e67afbb
chore(docker): update docker digests (#197) 2022-12-09 22:40:38 +01:00
renovate[bot]
27bd048a67
chore(deps): lock file maintenance (#188) 2022-12-09 22:40:28 +01:00
renovate[bot]
31357ec4de chore(docker): update docker digests 2022-11-30 06:36:56 +00:00
renovate[bot]
7c78573d87 chore(deps): update dependency flake8-logging-format to v0.9.0 2022-11-28 04:05:14 +00:00
253f4e2c28
ci: use python311 base image on ci (#194) 2022-11-24 21:35:35 +01:00
renovate[bot]
c71deeff2d chore(deps): update dependency flake8-isort to v5.0.3 2022-11-21 04:57:19 +00:00
renovate[bot]
cb00a19273 chore(docker): update docker digests 2022-11-16 17:06:52 +00:00
renovate[bot]
a236a12d5f chore(docker): update docker digests 2022-11-12 14:40:21 +00:00
renovate[bot]
ab7422c735 chore(docker): update docker digests 2022-11-11 06:21:42 +00:00
renovate[bot]
32b2fb1e28 chore(deps): update dependency flake8-builtins to v2.0.1 2022-11-07 04:53:02 +00:00
e01356b1fe
ci: add test step for python 11 (#186) 2022-11-02 13:01:37 +01:00
renovate[bot]
22f0f390a7
chore(deps): lock file maintenance (#185) 2022-11-02 09:11:08 +01:00
renovate[bot]
44724e408f chore(deps): update dependency pytest to v7.2.0 2022-10-31 06:14:47 +00:00
renovate[bot]
04bbeaca66
chore(deps): lock file maintenance (#168) 2022-10-25 21:28:18 +02:00
renovate[bot]
0721d6e176
fix(deps): update dependency colorama to v0.4.6 (#179) 2022-10-25 21:28:10 +02:00
renovate[bot]
7dcff5b553
chore(deps): update python docker tag to v3.11 (#181) 2022-10-25 21:28:03 +02:00
renovate[bot]
5a683e5a04
chore(deps): update arm64v8/python docker tag to v3.11 (#180) 2022-10-25 21:27:46 +02:00
renovate[bot]
e3ef3b2fa7
chore(deps): update arm32v7/python docker tag to v3.11 (#183) 2022-10-25 21:27:37 +02:00
renovate[bot]
d494f3e6db chore(docker): update docker digests 2022-10-25 16:57:25 +00:00
renovate[bot]
054fef98e4 chore(docker): update docker digests 2022-10-25 09:47:58 +00:00
renovate[bot]
c57c6914e1 chore(docker): update docker digests 2022-10-20 22:57:30 +00:00
renovate[bot]
59ff380fc2 chore(deps): update dependency pytest-mock to v3.10.0 2022-10-10 03:23:01 +00:00
renovate[bot]
70ce89f138
chore(deps): update dependency flake8-builtins to v2 (#173) 2022-10-09 16:31:06 +02:00
renovate[bot]
76ac9f4fc9
chore(deps): update dependency flake8-pep3101 to v2 (#174) 2022-10-09 13:41:54 +02:00
renovate[bot]
45594aff05
chore(deps): update dependency flake8-isort to v5 (#175) 2022-10-09 11:34:49 +02:00
renovate[bot]
83baed69a5 chore(docker): update python:3.10-alpine docker digest to 486782e 2022-10-08 07:57:45 +00:00
renovate[bot]
ece672c816 chore(docker): update docker digests 2022-10-07 11:59:00 +00:00
renovate[bot]
3b405ab5db chore(deps): update devdependencies (non-major) 2022-10-03 05:05:40 +00:00
renovate[bot]
1529cdfb84
chore(deps): update dependency pytest-cov to v4 (#169) 2022-09-29 08:54:31 +02:00
renovate[bot]
3ce6396fa1 chore(deps): update dependency flake8-eradicate to v1.4.0 2022-09-26 04:36:28 +00:00
renovate[bot]
f6d176bb7d
chore(deps): lock file maintenance (#163) 2022-09-19 09:06:17 +02:00
renovate[bot]
e3347e1275 chore(docker): update docker digests 2022-09-08 15:36:29 +00:00
renovate[bot]
32d0ef100e chore(deps): update devdependencies (non-major) 2022-09-05 04:38:06 +00:00
renovate[bot]
f061937dbc
chore(deps): lock file maintenance (#149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 09:59:21 +02:00
renovate[bot]
01859dfc3b
chore(deps): update dependency flake8 to v5 (#153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 08:39:59 +02:00
renovate[bot]
6d28c9a6fb
chore(deps): update devdependencies (non-major) (#161) 2022-08-21 23:40:21 +02:00
renovate[bot]
2ac49f98df chore(docker): update docker digests 2022-08-11 09:46:54 +00:00
renovate[bot]
2fe2665426 chore(docker): update docker digests to 3fe6aa2 2022-08-10 11:48:23 +00:00
renovate[bot]
35b06157a7 chore(deps): update dependency flake8-isort to v4.2.0 2022-08-08 05:11:24 +00:00
renovate[bot]
841b4045ff chore(docker): update python digest to 4543fd9 2022-08-04 20:39:57 +00:00
renovate[bot]
20b705d1c6 chore(docker): update docker digests to 4fd92f2 2022-08-03 15:51:45 +00:00
renovate[bot]
4ed334480a chore(docker): update python digest to ffc9076 2022-08-03 06:00:43 +00:00
renovate[bot]
a895ad1236 chore(deps): update dependency flake8-isort to v4.1.2.post0 2022-08-01 03:13:35 +00:00
renovate[bot]
66b1af0494 chore(docker): update docker digests to dcc75b5 2022-07-27 17:18:55 +00:00
renovate[bot]
8f3148e5a0 chore(docker): update docker digests to fe93ef5 2022-07-27 10:31:01 +00:00
cd00b2d8b1
[skip ci] adjust repo config 2022-07-21 09:50:59 +02:00
renovate[bot]
bcf579b7a7 chore(docker): update docker digests to 8042f9a 2022-07-19 13:42:49 +00:00
renovate[bot]
ce05171e0c chore(deps): update dependency pep8-naming to v0.13.1 2022-07-18 01:46:17 +00:00
e124c7aeef
docs: fix spelling in readme 2022-07-15 08:50:08 +02:00
renovate[bot]
b17b71b3bc
fix(deps): update dependency python-json-logger to v2.0.4 (#147) 2022-07-13 10:31:31 +02:00
renovate[bot]
f150e4abd3
chore(deps): lock file maintenance (#144) 2022-07-11 13:29:05 +02:00
renovate[bot]
44763205a6
fix(deps): update dependency python-json-logger to v2.0.3 (#145) 2022-07-11 10:48:46 +02:00
renovate[bot]
9013547254 chore(deps): update dependency pytest-mock to v3.8.2 2022-07-11 04:09:24 +00:00
renovate[bot]
8f65adfee8 chore(deps): update dependency pytest-mock to v3.8.1 2022-06-27 05:30:15 +00:00
renovate[bot]
542c02582c
chore(deps): lock file maintenance (#142) 2022-06-20 10:59:37 +02:00
renovate[bot]
0687883ed5
chore(deps): lock file maintenance (#140) 2022-06-19 14:48:57 +02:00
renovate[bot]
728ea3bfa6
fix(deps): update dependency colorama to v0.4.5 (#141) 2022-06-19 14:47:44 +02:00
renovate[bot]
9855397550
chore(deps): lock file maintenance (#137) 2022-06-08 16:29:14 +02:00
3813f7c6b1
feat: add option DOCKER_AUTOTAG_SUFFIX_STRICT (#139) 2022-06-08 15:32:30 +02:00
Renovate Bot
ce991cc745 chore(docker): update docker digests to 22fb80b 2022-06-08 03:02:05 +00:00
Renovate Bot
b9a6b9aa21 chore(deps): update dependency pep8-naming to v0.13.0 2022-06-06 05:38:32 +00:00
Renovate Bot
b3623bae2f chore(docker): update docker digests to 7467540 2022-06-03 03:45:47 +00:00
renovate[bot]
9fc8f8aafb
chore(deps): lock file maintenance (#132) 2022-06-02 21:24:30 +02:00
renovate[bot]
6a7fe173b7
fix(deps): update dependency semantic-version to v2.10.0 (#134) 2022-06-02 21:24:18 +02:00
Renovate Bot
dfccb78e2d chore(docker): update docker digests to 4051162 2022-05-26 03:54:30 +00:00
renovate[bot]
556e1072cb
chore(deps): lock file maintenance (#108) 2022-05-21 13:21:16 +02:00
Renovate Bot
14acdb3c95 chore(docker): update docker digests to b1c7b16 2022-05-18 14:29:49 +00:00
Renovate Bot
dbecd818f6 chore(deps): update devdependencies (non-major) 2022-05-02 05:00:31 +00:00
Renovate Bot
41c0f80de6 chore(docker): update docker digests to 032fd45 2022-04-20 20:34:02 +00:00
Renovate Bot
0ae56a8755 chore(docker): update docker digests to 49d6cf8 2022-04-14 22:55:37 +00:00
Renovate Bot
bd72e12855 chore(docker): update docker digests to 31f39ec 2022-04-14 13:24:22 +00:00
Renovate Bot
339f0b5582 chore(docker): update docker digests to 3703b9d 2022-04-07 20:08:21 +00:00
Renovate Bot
1625329018 chore(docker): update docker digests to e619558 2022-04-05 22:24:39 +00:00
Renovate Bot
5cc70a7930 chore(docker): update docker digests to 0822e90 2022-04-05 14:20:27 +00:00
f577139a45
chore: adjust yapf dict formatting to avoid line breaks (#123) 2022-04-04 22:26:38 +02:00
Renovate Bot
46a0fe286f chore(docker): update docker digests to b927a8a 2022-03-30 20:01:19 +00:00
Renovate Bot
f4fa2440d9 chore(docker): update docker digests to 289e6ba 2022-03-30 01:15:35 +00:00
Renovate Bot
e196a1bbe5 chore(docker): update python digest to bbf8cad 2022-03-29 14:45:16 +00:00
Renovate Bot
600fd724a1 chore(docker): update docker digests to dfdc8ff 2022-03-25 12:39:53 +00:00
Renovate Bot
6e6811f6c7 chore(docker): update docker digests to 87eded0 2022-03-24 11:34:57 +00:00
Renovate Bot
540b6545f1 chore(docker): update docker digests to 7393522 2022-03-24 05:53:51 +00:00
Renovate Bot
e9863a7c5f chore(deps): update devdependencies (non-major) 2022-03-21 05:31:06 +00:00
Renovate Bot
c399903c6d chore(docker): update docker digests to 9a1e361 2022-03-17 19:59:36 +00:00
Renovate Bot
efe8f8b46a chore(deps): update dependency pytest to v7.1.0 2022-03-14 04:53:53 +00:00
Renovate Bot
9fda149c3d chore(docker): update docker digests to bdf7490 2022-03-08 13:13:23 +00:00
Renovate Bot
2e8c92002c chore(deps): update dependency bandit to v1.7.4 2022-03-07 05:16:41 +00:00
Renovate Bot
f7e9bed02d chore(deps): update dependency bandit to v1.7.3 2022-02-28 02:56:39 +00:00
Renovate Bot
0e8ef41d9b chore(docker): update docker digests to 9871be3 2022-02-26 13:07:28 +00:00
Renovate Bot
8f7472a489 chore(docker): update docker digests to 1a3046e 2022-02-24 08:41:17 +00:00
renovate[bot]
0853bee5d4
chore(deps): lock file maintenance (#100) 2022-02-15 20:45:22 +01:00
renovate[bot]
829acce8fa
fix(deps): update dependency semantic-version to v2.9.0 (#105) 2022-02-15 20:45:06 +01:00
Renovate Bot
f0719ca533 chore(docker): update docker digests to c1a3d00 2022-02-14 10:35:07 +00:00
Renovate Bot
7ffa8ffedd chore(deps): update dependency pytest to v7.0.1 2022-02-14 02:36:39 +00:00
renovate[bot]
c683682f9b
chore(deps): update dependency pytest to v7 (#103) 2022-02-07 13:47:58 +01:00
6a73de0d41
fix: add toml to dev dependencies as yapf requirement (#104) 2022-02-05 15:01:39 +01:00
Renovate Bot
f97127c625 chore(deps): update dependency pytest-mock to v3.7.0 2022-01-28 13:39:46 +00:00
Renovate Bot
55367940ae chore(deps): update dependency bandit to v1.7.2 2022-01-26 03:55:16 +00:00
renovate[bot]
e50a630244
chore(deps): lock file maintenance (#99) 2022-01-10 09:09:59 +01:00
2abf6798f5
chore: add build deps to Dockerfile (#98) 2022-01-09 22:08:36 +01:00
renovate[bot]
635c1f4942
chore(deps): lock file maintenance (#94) 2022-01-07 14:13:25 +01:00
Renovate Bot
b49127f7bc chore(deps): update dependency yapf to v0.32.0 2021-12-26 09:59:03 +00:00
f2f82007bd
chore: end of the year maintenance 2021-12-21 10:15:40 +01:00
6c4e6b86bc
chore: adjust changelog template to link to prs instead of issues (#95) 2021-12-12 13:25:54 +01:00
Renovate Bot
d7807ef46c chore(docker): update docker digests 2021-11-28 14:13:07 +00:00
renovate[bot]
a3c2a76868
chore(deps): lock file maintenance (#91) 2021-11-28 14:07:39 +01:00
Renovate Bot
467d2072f1 chore(deps): update dependency bandit to v1.7.1 2021-11-12 15:45:47 +00:00
renovate[bot]
c27a953cbf
chore(deps): update dependency flake8 to v4 (#87) 2021-10-20 17:02:41 +02:00
Renovate Bot
b187d07a35 chore(deps): update dependency flake8-eradicate to v1.2.0 2021-10-19 19:48:41 +00:00
Renovate Bot
486ccc9a4f chore(deps): update dependency flake8-quotes to v3.3.1 2021-10-19 09:09:53 +00:00
Renovate Bot
6646811ec5 chore(deps): update dependency flake8-isort to v4.1.1 2021-10-14 14:27:24 +00:00
renovate[bot]
1413d1133b
chore(deps): lock file maintenance (#86)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-11 09:33:55 +02:00
f2df28eecb
fix: fix format string of the json logger (#85) 2021-10-07 22:59:49 +02:00
e4c2fe2e09
feat: add python3.10 support (#83) 2021-10-07 09:52:52 +02:00
Renovate Bot
0a8b49e0a6 chore(docker): update python:3.10-alpine docker digest to c13a6cf 2021-10-07 07:24:33 +00:00
renovate[bot]
86c301435c
chore(deps): update arm64v8/python docker tag to v3.10 (#79)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-06 20:44:54 +02:00
renovate[bot]
6b1ccc40f4
chore(deps): update arm32v7/python docker tag to v3.10 (#82)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-06 20:44:49 +02:00
renovate[bot]
aab55887a5
chore(deps): update python docker tag to v3.10 (#80)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-06 20:44:33 +02:00
Renovate Bot
61e4faded4 chore(docker): update docker digests 2021-10-06 08:37:12 +00:00
Renovate Bot
c8716c59d4 chore(docker): update docker digests 2021-10-06 03:56:34 +00:00
Renovate Bot
0191a571bc chore(docker): update docker digests 2021-10-05 09:25:49 +00:00
renovate[bot]
3d60588dbd
chore(deps): update dependency pytest-cov to v3 (#76)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-04 16:52:44 +02:00
584ed22ef5
BREAKING CHANGE: drop Python 3.6 support (#75) 2021-10-03 16:10:31 +02:00
renovate[bot]
08dfe75a73
chore(deps): lock file maintenance (#74)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-27 09:31:58 +02:00
6725e45f13
improve changelog template 2021-09-22 11:50:42 +02:00
f9ada5b9ae
improve drone-matrix template 2021-09-22 09:31:12 +02:00
renovate[bot]
0679b1cab0
chore(deps): lock file maintenance (#67)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-20 09:54:35 +02:00
5d48142528
ci: switch to drone-matrix plugin (#73) 2021-09-19 22:09:41 +02:00
1427381195
regenerate drone config 2021-09-13 10:53:45 +02:00
Renovate Bot
254eb30ca5 chore(deps): update dependency pytest to v6.2.5 2021-08-30 20:07:08 +00:00
Renovate Bot
51c94a916e chore(docker): update docker digests 2021-08-24 12:50:11 +00:00
Renovate Bot
d04176116f chore(deps): update dependency flake8-quotes to v3.3.0 2021-08-23 11:18:27 +00:00
Renovate Bot
e8ba2010c3 chore(deps): update dependency pep8-naming to v0.12.1 2021-08-08 04:26:28 +00:00
Renovate Bot
3186eff88e chore(deps): update dependency pdoc3 to v0.10.0 2021-08-03 16:51:47 +00:00
Renovate Bot
049707e4b0 chore(deps): update python:3.9-alpine docker digest 2021-07-31 23:56:39 +00:00
Renovate Bot
3a71e8792b chore(deps): update docker digests 2021-07-31 22:31:51 +00:00
renovate[bot]
80e73e5e40
chore(deps): lock file maintenance (#63)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-29 10:10:23 +02:00
renovate[bot]
b38bec2ed4
fix(deps): update dependency python-json-logger to v2.0.2 (#64)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-29 10:09:50 +02:00
renovate[bot]
b83e742db0
chore(deps): lock file maintenance (#60)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-15 09:06:37 +02:00
Renovate Bot
ec7a119f5d chore(deps): update docker digests 2021-07-14 23:44:58 +00:00
Renovate Bot
dd64edd16f chore(deps): update dependency pep8-naming to v0.12.0 2021-07-07 13:04:37 +00:00
164b1acd4a
chore: replace libressl-dev by openssl-dev (#59) 2021-06-30 09:01:37 +02:00
renovate[bot]
fad67a9d22
chore(deps): lock file maintenance (#58)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 08:44:25 +02:00
Renovate Bot
f84ebeb7c6 chore(deps): update dependency flake8-eradicate to v1.1.0 2021-06-22 12:06:27 +00:00
renovate[bot]
e9e2914137
chore(deps): lock file maintenance (#56)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-21 09:23:20 +02:00
6ab61fa9d2
chore: disable rule D105 in flake 2021-06-09 20:59:01 +02:00
renovate[bot]
0fe223ca5d
chore(deps): lock file maintenance (#55)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-07 09:21:43 +02:00
Renovate Bot
efe8e1f603 chore(deps): update dependency pytest-cov to v2.12.1 2021-06-01 19:39:55 +00:00
renovate[bot]
92d11fa811
chore(deps): lock file maintenance (#53)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-31 10:24:09 +02:00
Renovate Bot
d988540fa9 chore(deps): update dependency requests-mock to v1.9.3 2021-05-28 08:54:42 +00:00
Renovate Bot
6c73c7bac7 chore(deps): update arm64v8/python:3.9-alpine docker digest 2021-05-27 15:18:08 +00:00
Renovate Bot
7c62c6845b chore(deps): update arm32v7/python:3.9-alpine docker digest 2021-05-26 17:36:17 +00:00
4836a36e88
[skip ci] fix github settings syntax 2021-05-25 18:01:04 +02:00
Renovate Bot
198b843ce5 chore(deps): update amd64/python:3.9-alpine docker digest 2021-05-24 21:48:16 +00:00
renovate[bot]
dfb3dfc9b9
chore(deps): lock file maintenance (#48)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-24 13:18:48 +02:00
Renovate Bot
d3f9187475 chore(deps): update dependency pydocstyle to v6.1.1 2021-05-17 23:14:29 +00:00
Renovate Bot
5853b86cc0 chore(deps): update dependency pydocstyle to v6.1.0 2021-05-17 20:46:24 +00:00
renovate[bot]
e7777e8615
chore(deps): lock file maintenance (#45)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-17 09:46:58 +02:00
Renovate Bot
7dd032e8f4 chore(deps): update dependency pytest-cov to v2.12.0 2021-05-14 12:41:21 +00:00
renovate[bot]
9081c57e71
chore(deps): lock file maintenance (#41)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Robert Kaussow <mail@geeklabor.de>
2021-05-11 00:22:39 +02:00
Renovate Bot
0d8e5c15fa chore(deps): update devdependencies (non-major) 2021-05-10 21:30:26 +00:00
66ebb7f3c7
chore: pin package versions (#42) 2021-05-10 22:08:05 +02:00
7dd4877ae2
chore: improve generated changelog (#40) 2021-05-09 23:18:58 +02:00
Renovate Bot
afaa5e6613 chore(deps): update docker digests 2021-05-07 13:43:11 +00:00
Renovate Bot
492ea2f821 chore(deps): update docker digests 2021-04-15 11:17:48 +00:00
e274cd18ae
chore: remove dev dependency flake8-colors (#37) 2021-04-12 09:50:09 +02:00
Renovate Bot
9785654019 chore(deps): update arm64v8/python:3.9-alpine docker digest to 0a685ca 2021-04-06 00:20:53 +00:00
Renovate Bot
71b40b0490 chore(deps): update docker digests 2021-04-05 21:26:05 +00:00
Renovate Bot
c57ab34eb0 chore(deps): update arm64v8/python:3.9-alpine docker digest to a03b784 2021-04-03 06:43:05 +00:00
Renovate Bot
169e076fe2 chore(deps): update docker digests 2021-04-03 02:34:05 +00:00
Renovate Bot
1ead4e5ff5 chore(deps): update docker digests 2021-04-01 11:46:31 +00:00
Renovate Bot
98366deb69 chore(deps): update docker digests 2021-03-26 15:08:42 +00:00
renovate[bot]
100a20224a
chore(deps): update arm32v7/python:3.9-alpine docker digest to 7c62c7f (#30)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-26 09:31:07 +01:00
739924f28d
ci: auto-generate changelog (#29)
* ci: auto-generate changelog

* cleanup
2021-03-23 21:08:32 +01:00
renovate[bot]
7f6cfb0be2
chore(deps): update dependency pydocstyle to v6 (#28)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-20 16:00:40 +01:00
Renovate Bot
a805bd3e9d chore(deps): update dependency yapf to ^0.31.0 2021-03-13 08:51:54 +00:00
Renovate Bot
1908cd2482 chore(deps): update amd64/python:3.9-alpine docker digest to d73b7b4 2021-03-13 01:34:16 +00:00
Renovate Bot
3f1c60ed23 chore(deps): update docker digests 2021-02-23 03:23:14 +00:00
Renovate Bot
171975b824 chore(deps): update arm32v7/python:3.9-alpine docker digest to 31710c3 2021-02-20 00:06:22 +00:00
Renovate Bot
93589b233f chore(deps): update arm64v8/python:3.9-alpine docker digest to ef2edd3 2021-02-19 22:48:54 +00:00
Renovate Bot
dea78b55b2 chore(deps): update amd64/python:3.9-alpine docker digest to 4f7234d 2021-02-19 21:20:52 +00:00
7494db80fc
ci: optimize build process and dependencies (#21) 2021-02-19 09:48:16 +01:00
cea6803a9d
ci: increase log level for poetry install steps 2021-02-18 11:18:31 +01:00
8b612230cf
[skip ci] disable github strict status check 2021-02-18 11:13:12 +01:00
renovate[bot]
daf8c91d7d
chore(deps): update arm32v7/python:3.9-alpine docker digest to 9710cc5 (#17)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 10:45:11 +01:00
renovate[bot]
88cce65862
chore(deps): update arm64v8/python:3.9-alpine docker digest to a6b4680 (#18)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 10:44:52 +01:00
renovate[bot]
54649cd494
chore(deps): update amd64/python:3.9-alpine docker digest to 5d02ad3 (#19)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 10:44:38 +01:00
d1e2b986c8
fix: add missing build dependencies for cryptography (#20) 2021-02-18 10:03:26 +01:00
Renovate Bot
9a102d0db2 chore(deps): update arm64v8/python:3.9-alpine docker digest to d67bb89 2021-02-04 11:52:24 +00:00
Renovate Bot
718a874ca4 chore(deps): update arm32v7/python:3.9-alpine docker digest to 13b3d3a 2021-02-04 09:21:00 +00:00
Renovate Bot
6e3eb946c6 chore(deps): update amd64/python:3.9-alpine docker digest to 5beb482 2021-02-04 07:54:03 +00:00
Renovate Bot
6871d97dc2 chore(deps): update arm64v8/python:3.9-alpine docker digest to ee35539 2021-02-02 03:38:16 +00:00
Renovate Bot
117371269e chore(deps): update amd64/python:3.9-alpine docker digest to a9bcc1e 2021-02-02 01:37:52 +00:00
Renovate Bot
eec9e8e806 chore(deps): update arm32v7/python:3.9-alpine docker digest to f0b596e 2021-02-01 23:17:01 +00:00
Renovate Bot
08e493f3d3 chore(deps): update arm32v7/python:3.9-alpine docker digest to 90a2442 2021-01-26 02:44:26 +00:00
Renovate Bot
42045eebb9 chore(deps): update arm64v8/python:3.9-alpine docker digest to 3ca1998 2021-01-26 01:38:02 +00:00
Renovate Bot
932bb8c39f chore(deps): update amd64/python:3.9-alpine docker digest to cc482de 2021-01-26 00:39:36 +00:00
a9accbe266
switch to custom drone docker plugin 2021-01-17 20:04:05 +01:00
56eb59bfd7
fix ci badge 2021-01-17 15:23:47 +01:00
5104468185
fix ci badge 2021-01-17 15:10:33 +01:00
7233317627
remove unnecessary docker_config secret from drone config 2021-01-16 15:45:38 +01:00
bcda32f928
re-sign drone config 2021-01-16 15:21:39 +01:00
Renovate Bot
35559b988c chore(deps): update dependency flake8-blind-except to ^0.2.0 2021-01-09 12:11:00 +00:00
41be51a8dd
fix comment syntax 2021-01-09 12:28:53 +01:00
73a8d39360
ignore unrelated flake8 B902 2021-01-09 12:25:13 +01:00
2e9505ba8d
[skip ci] exclude .venv folder from isort 2021-01-03 21:43:56 +01:00
44a4f5016d
[skip ci] update year in license file 2021-01-03 21:40:25 +01:00
32 changed files with 699 additions and 2041 deletions

2
.dictionary Normal file
View File

@ -0,0 +1,2 @@
PyPi
docker-autotag

View File

@ -1,368 +0,0 @@
local PythonVersion(pyversion='3.6') = {
name: 'python' + std.strReplace(pyversion, '.', '') + '-pytest',
image: 'python:' + pyversion,
environment: {
PY_COLORS: 1,
},
commands: [
'pip install poetry poetry-dynamic-versioning -qq',
'poetry install -q',
'poetry version',
'poetry run docker-autotag --help',
],
depends_on: [
'fetch',
],
};
local PipelineLint = {
kind: 'pipeline',
image_pull_secrets: ['docker_config'],
name: 'lint',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'yapf',
image: 'python:3.9',
environment: {
PY_COLORS: 1,
},
commands: [
'git fetch -tq',
'pip install poetry poetry-dynamic-versioning -qq',
'poetry install -q',
'poetry run yapf -dr ./dockerautotag',
],
},
{
name: 'flake8',
image: 'python:3.9',
environment: {
PY_COLORS: 1,
},
commands: [
'git fetch -tq',
'pip install poetry poetry-dynamic-versioning -qq',
'poetry install -q',
'poetry run flake8 ./dockerautotag',
],
},
],
trigger: {
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineTest = {
kind: 'pipeline',
image_pull_secrets: ['docker_config'],
name: 'test',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'fetch',
image: 'python:3.9',
commands: [
'git fetch -tq',
],
},
PythonVersion(pyversion='3.6'),
PythonVersion(pyversion='3.7'),
PythonVersion(pyversion='3.8'),
PythonVersion(pyversion='3.9'),
],
depends_on: [
'lint',
],
trigger: {
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineSecurity = {
kind: 'pipeline',
image_pull_secrets: ['docker_config'],
name: 'security',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'bandit',
image: 'python:3.9',
environment: {
PY_COLORS: 1,
},
commands: [
'git fetch -tq',
'pip install poetry poetry-dynamic-versioning -qq',
'poetry install -q',
'poetry run bandit -r ./dockerautotag -x ./dockerautotag/test',
],
},
],
depends_on: [
'test',
],
trigger: {
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineBuildPackage = {
kind: 'pipeline',
image_pull_secrets: ['docker_config'],
name: 'build-package',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'build',
image: 'python:3.9',
commands: [
'git fetch -tq',
'pip install poetry poetry-dynamic-versioning -qq',
'poetry build',
],
},
{
name: 'checksum',
image: 'alpine',
commands: [
'cd dist/ && sha256sum * > ../sha256sum.txt',
],
},
{
name: 'publish-github',
image: 'plugins/github-release',
settings: {
overwrite: true,
api_key: { from_secret: 'github_token' },
files: ['dist/*', 'sha256sum.txt'],
title: '${DRONE_TAG}',
note: 'CHANGELOG.md',
},
when: {
ref: ['refs/tags/**'],
},
},
{
name: 'publish-pypi',
image: 'python:3.9',
commands: [
'git fetch -tq',
'pip install poetry poetry-dynamic-versioning -qq',
'poetry publish -n',
],
environment: {
POETRY_HTTP_BASIC_PYPI_USERNAME: { from_secret: 'pypi_username' },
POETRY_HTTP_BASIC_PYPI_PASSWORD: { from_secret: 'pypi_password' },
},
when: {
ref: ['refs/tags/**'],
},
},
],
depends_on: [
'security',
],
trigger: {
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineBuildContainer(arch='amd64') = {
kind: 'pipeline',
image_pull_secrets: ['docker_config'],
name: 'build-container-' + arch,
platform: {
os: 'linux',
arch: arch,
},
steps: [
{
name: 'build',
image: 'python:3.9',
commands: [
'git fetch -tq',
'pip install poetry poetry-dynamic-versioning -qq',
'poetry build',
],
},
{
name: 'dryrun',
image: 'plugins/docker:19',
settings: {
config: { from_secret: 'docker_config' },
dry_run: true,
dockerfile: 'docker/Dockerfile.' + arch,
repo: 'thegeeklab/${DRONE_REPO_NAME}',
username: { from_secret: 'docker_username' },
password: { from_secret: 'docker_password' },
},
depends_on: ['build'],
when: {
ref: ['refs/pull/**'],
},
},
{
name: 'publish-dockerhub',
image: 'plugins/docker:19',
settings: {
config: { from_secret: 'docker_config' },
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/**'],
},
depends_on: ['dryrun'],
},
{
name: 'publish-quay',
image: 'plugins/docker:19',
settings: {
config: { from_secret: 'docker_config' },
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: ['dryrun'],
},
],
depends_on: [
'security',
],
trigger: {
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineNotifications = {
kind: 'pipeline',
image_pull_secrets: ['docker_config'],
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: 'Create docker tags from a given version string',
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: 'plugins/matrix',
settings: {
homeserver: { from_secret: 'matrix_homeserver' },
roomid: { from_secret: 'matrix_roomid' },
template: 'Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}',
username: { from_secret: 'matrix_username' },
password: { from_secret: 'matrix_password' },
},
when: {
status: ['success', 'failure'],
},
},
],
depends_on: [
'build-package',
'build-container-amd64',
'build-container-arm64',
'build-container-arm',
],
trigger: {
ref: ['refs/heads/main', 'refs/tags/**'],
status: ['success', 'failure'],
},
};
[
PipelineLint,
PipelineTest,
PipelineSecurity,
PipelineBuildPackage,
PipelineBuildContainer(arch='amd64'),
PipelineBuildContainer(arch='arm64'),
PipelineBuildContainer(arch='arm'),
PipelineNotifications,
]

View File

@ -1,570 +0,0 @@
---
kind: pipeline
name: lint
platform:
os: linux
arch: amd64
steps:
- name: yapf
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry install -q
- poetry run yapf -dr ./dockerautotag
environment:
PY_COLORS: 1
- name: flake8
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry install -q
- poetry run flake8 ./dockerautotag
environment:
PY_COLORS: 1
image_pull_secrets:
- docker_config
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 install -q
- 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 install -q
- 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 install -q
- 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 install -q
- poetry version
- poetry run docker-autotag --help
environment:
PY_COLORS: 1
depends_on:
- fetch
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
depends_on:
- lint
---
kind: pipeline
name: security
platform:
os: linux
arch: amd64
steps:
- name: bandit
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry install -q
- poetry run bandit -r ./dockerautotag -x ./dockerautotag/test
environment:
PY_COLORS: 1
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
depends_on:
- test
---
kind: pipeline
name: build-package
platform:
os: linux
arch: amd64
steps:
- name: build
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
- name: checksum
image: alpine
commands:
- cd dist/ && sha256sum * > ../sha256sum.txt
- name: publish-github
image: plugins/github-release
settings:
api_key:
from_secret: github_token
files:
- dist/*
- sha256sum.txt
note: CHANGELOG.md
overwrite: true
title: ${DRONE_TAG}
when:
ref:
- refs/tags/**
- name: publish-pypi
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry publish -n
environment:
POETRY_HTTP_BASIC_PYPI_PASSWORD:
from_secret: pypi_password
POETRY_HTTP_BASIC_PYPI_USERNAME:
from_secret: pypi_username
when:
ref:
- refs/tags/**
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: build-container-amd64
platform:
os: linux
arch: amd64
steps:
- name: build
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
- name: dryrun
image: plugins/docker:19
settings:
config:
from_secret: docker_config
dockerfile: docker/Dockerfile.amd64
dry_run: true
password:
from_secret: docker_password
repo: thegeeklab/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/pull/**
depends_on:
- build
- name: publish-dockerhub
image: plugins/docker:19
settings:
auto_tag: true
auto_tag_suffix: amd64
config:
from_secret: docker_config
dockerfile: docker/Dockerfile.amd64
password:
from_secret: docker_password
repo: thegeeklab/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/heads/main
- refs/tags/**
depends_on:
- dryrun
- name: publish-quay
image: plugins/docker:19
settings:
auto_tag: true
auto_tag_suffix: amd64
config:
from_secret: docker_config
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/**
depends_on:
- dryrun
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: build-container-arm64
platform:
os: linux
arch: arm64
steps:
- name: build
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
- name: dryrun
image: plugins/docker:19
settings:
config:
from_secret: docker_config
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/**
depends_on:
- build
- name: publish-dockerhub
image: plugins/docker:19
settings:
auto_tag: true
auto_tag_suffix: arm64
config:
from_secret: docker_config
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/**
depends_on:
- dryrun
- name: publish-quay
image: plugins/docker:19
settings:
auto_tag: true
auto_tag_suffix: arm64
config:
from_secret: docker_config
dockerfile: docker/Dockerfile.arm64
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/**
depends_on:
- dryrun
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: build-container-arm
platform:
os: linux
arch: arm
steps:
- name: build
image: python:3.9
commands:
- git fetch -tq
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
- name: dryrun
image: plugins/docker:19
settings:
config:
from_secret: docker_config
dockerfile: docker/Dockerfile.arm
dry_run: true
password:
from_secret: docker_password
repo: thegeeklab/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/pull/**
depends_on:
- build
- name: publish-dockerhub
image: plugins/docker:19
settings:
auto_tag: true
auto_tag_suffix: arm
config:
from_secret: docker_config
dockerfile: docker/Dockerfile.arm
password:
from_secret: docker_password
repo: thegeeklab/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/heads/main
- refs/tags/**
depends_on:
- dryrun
- name: publish-quay
image: plugins/docker:19
settings:
auto_tag: true
auto_tag_suffix: arm
config:
from_secret: docker_config
dockerfile: docker/Dockerfile.arm
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/**
depends_on:
- dryrun
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: notifications
platform:
os: linux
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
environment:
DOCKER_PASS:
from_secret: docker_password
DOCKER_USER:
from_secret: docker_username
PUSHRM_FILE: README.md
PUSHRM_SHORT: Create docker tags from a given version string
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: plugins/matrix
settings:
homeserver:
from_secret: matrix_homeserver
password:
from_secret: matrix_password
roomid:
from_secret: matrix_roomid
template: "Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}"
username:
from_secret: matrix_username
when:
status:
- success
- failure
image_pull_secrets:
- docker_config
trigger:
ref:
- refs/heads/main
- refs/tags/**
status:
- success
- failure
depends_on:
- build-package
- build-container-amd64
- build-container-arm64
- build-container-arm
---
kind: signature
hmac: 89b486c8acd23db08d74f6c0c26ccae5a491727a28757201c7ec0ddd3a1de3ac
...

View File

@ -1,3 +0,0 @@
[flake8]
# Requires `flake8-colors`. This is the formatting suggested by the package (and used in flake8 repository itself).
format = ${cyan}%(path)s${reset}:${yellow_bold}%(row)d${reset}:${green_bold}%(col)d${reset}: ${red_bold}%(code)s${reset} %(text)s

14
.github/settings.yml vendored
View File

@ -1,4 +1,3 @@
---
repository:
name: docker-autotag
description: Create docker tags from a given version string
@ -8,7 +7,7 @@ repository:
has_issues: true
has_projects: false
has_wiki: false
has_downloads: false
has_downloads: true
default_branch: main
@ -50,8 +49,13 @@ branches:
protection:
required_pull_request_reviews: null
required_status_checks:
strict: true
strict: false
contexts:
- continuous-integration/drone/pr
enforce_admins: null
- ci/woodpecker/pr/lint
- ci/woodpecker/pr/test
- ci/woodpecker/pr/build-package
- ci/woodpecker/pr/build-container
- ci/woodpecker/pr/docs
enforce_admins: false
required_linear_history: true
restrictions: null

4
.gitignore vendored
View File

@ -101,3 +101,7 @@ env*/
.pytest_cache
pip-wheel-metadata
# Misc
CHANGELOG.md
.ruff_cache

47
.gitsv/config.yml Normal file
View File

@ -0,0 +1,47 @@
---
version: "1.1"
versioning:
update-major: []
update-minor: [feat]
update-patch: [fix, perf, refactor, chore, test, ci, docs]
tag:
pattern: "v%d.%d.%d"
release-notes:
sections:
- name: Features
commit-types: [feat]
section-type: commits
- name: Bug Fixes
commit-types: [fix]
section-type: commits
- name: Performance Improvements
commit-types: [perf]
section-type: commits
- name: Code Refactoring
commit-types: [refactor]
section-type: commits
- name: Others
commit-types: [chore]
section-type: commits
- name: Testing
commit-types: [test]
section-type: commits
- name: CI Pipeline
commit-types: [ci]
section-type: commits
- name: Documentation
commit-types: [docs]
section-type: commits
- name: Breaking Changes
section-type: breaking-changes
commit-message:
footer:
issue:
key: issue
add-value-prefix: "#"
issue:
regex: "#?[0-9]+"

1
.lycheeignore Normal file
View File

@ -0,0 +1 @@
https://hub.docker.com/r/thegeeklab/*

6
.markdownlint.yml Normal file
View File

@ -0,0 +1,6 @@
---
default: True
MD013: False
MD041: False
MD004:
style: dash

2
.prettierignore Normal file
View File

@ -0,0 +1,2 @@
*.tpl.md
LICENSE

View File

@ -0,0 +1,73 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
steps:
- name: build
image: docker.io/library/python:3.12
commands:
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
- name: dryrun
image: quay.io/thegeeklab/wp-docker-buildx:4
settings:
containerfile: Containerfile.multiarch
dry_run: true
platforms:
- linux/amd64
- linux/arm64
provenance: false
repo: ${CI_REPO}
when:
- event: [pull_request]
- name: publish-dockerhub
image: quay.io/thegeeklab/wp-docker-buildx:4
group: container
settings:
auto_tag: true
containerfile: Containerfile.multiarch
password:
from_secret: docker_password
platforms:
- linux/amd64
- linux/arm64
provenance: false
repo: ${CI_REPO}
username:
from_secret: docker_username
when:
- event: [tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
- name: publish-quay
image: quay.io/thegeeklab/wp-docker-buildx:4
group: container
settings:
auto_tag: true
containerfile: Containerfile.multiarch
password:
from_secret: quay_password
platforms:
- linux/amd64
- linux/arm64
provenance: false
registry: quay.io
repo: quay.io/${CI_REPO}
username:
from_secret: quay_username
when:
- event: [tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
depends_on:
- lint
- test

View File

@ -0,0 +1,56 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
steps:
- name: build
image: docker.io/library/python:3.12
commands:
- pip install poetry poetry-dynamic-versioning -qq
- poetry build
- name: checksum
image: quay.io/thegeeklab/alpine-tools
commands:
- cd dist/ && sha256sum * > ../sha256sum.txt
- name: changelog
image: quay.io/thegeeklab/git-sv
commands:
- git sv current-version
- git sv release-notes -t ${CI_COMMIT_TAG:-next} -o CHANGELOG.md
- cat CHANGELOG.md
- name: publish-github
image: docker.io/plugins/github-release
settings:
api_key:
from_secret: github_token
files:
- dist/*
- sha256sum.txt
note: CHANGELOG.md
overwrite: true
title: ${CI_COMMIT_TAG}
when:
- event: [tag]
- name: publish-pypi
image: docker.io/library/python:3.12
secrets:
- source: pypi_password
target: POETRY_HTTP_BASIC_PYPI_PASSWORD
- source: pypi_username
target: POETRY_HTTP_BASIC_PYPI_USERNAME
commands:
- pip install poetry poetry-dynamic-versioning -qq
- poetry publish -n
when:
- event: [tag]
depends_on:
- lint
- test

62
.woodpecker/docs.yml Normal file
View File

@ -0,0 +1,62 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
steps:
- name: markdownlint
image: quay.io/thegeeklab/markdownlint-cli
group: test
commands:
- markdownlint 'README.md' 'CONTRIBUTING.md'
- name: spellcheck
image: quay.io/thegeeklab/alpine-tools
group: test
commands:
- spellchecker --files 'docs/**/*.md' 'README.md' 'CONTRIBUTING.md' -d .dictionary -p spell indefinite-article syntax-urls
environment:
FORCE_COLOR: "true"
- name: link-validation
image: docker.io/lycheeverse/lychee
group: test
commands:
- lychee --no-progress --format detailed README.md
- name: pushrm-dockerhub
image: docker.io/chko/docker-pushrm:1
secrets:
- source: docker_password
target: DOCKER_PASS
- source: docker_username
target: DOCKER_USER
environment:
PUSHRM_FILE: README.md
PUSHRM_SHORT: Create docker tags from a given version string
PUSHRM_TARGET: ${CI_REPO}
when:
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
status: [success]
- name: pushrm-quay
image: docker.io/chko/docker-pushrm:1
secrets:
- source: quay_token
target: APIKEY__QUAY_IO
environment:
PUSHRM_FILE: README.md
PUSHRM_TARGET: quay.io/${CI_REPO}
when:
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
status: [success]
depends_on:
- build-package
- build-container

25
.woodpecker/lint.yml Normal file
View File

@ -0,0 +1,25 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
steps:
- name: check-format
image: docker.io/library/python:3.12
commands:
- pip install poetry poetry-dynamic-versioning -qq
- poetry install
- poetry run ruff format --check --diff ./${CI_REPO_NAME//-/}
environment:
PY_COLORS: "1"
- name: check-coding
image: docker.io/library/python:3.12
commands:
- pip install poetry poetry-dynamic-versioning -qq
- poetry install
- poetry run ruff check ./${CI_REPO_NAME//-/}
environment:
PY_COLORS: "1"

26
.woodpecker/notify.yml Normal file
View File

@ -0,0 +1,26 @@
---
when:
- event: [tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
runs_on: [success, failure]
steps:
- name: matrix
image: quay.io/thegeeklab/wp-matrix
settings:
homeserver:
from_secret: matrix_homeserver
password:
from_secret: matrix_password
roomid:
from_secret: matrix_roomid
username:
from_secret: matrix_username
when:
- status: [success, failure]
depends_on:
- docs

38
.woodpecker/test.yml Normal file
View File

@ -0,0 +1,38 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
variables:
- &pytest_base
group: pytest
commands:
- pip install poetry poetry-dynamic-versioning -qq
- poetry install
- poetry version
- poetry run ${CI_REPO_NAME} --help
environment:
PY_COLORS: "1"
steps:
- name: python-312
image: docker.io/library/python:3.12
<<: *pytest_base
- name: python-311
image: docker.io/library/python:3.11
<<: *pytest_base
- name: python-310
image: docker.io/library/python:3.10
<<: *pytest_base
- name: python-39
image: docker.io/library/python:3.9
<<: *pytest_base
- name: python-38
image: docker.io/library/python:3.8
<<: *pytest_base

View File

@ -1,20 +0,0 @@
# Changelog
## v0.2.0 (2021-01-03)
### Docs
- add contributing information
### Others
- migrate to poetry
- replace master by main as default branch
- **deps**: pin docker digests ([#4](https://github.com/thegeeklab/docker-autotag/issues/4))
- **docker**: use standalone dockerfiles for multiarch
- **docker**: switch to org.opencontainers image labels
- use renovate preset config
### Breaking Changes
- drop Python 3.5 support

View File

@ -3,7 +3,7 @@
## Security
If you think you have found a **security issue**, please do not mention it in this repository.
Instead, send an email to security@thegeeklab.de with as many details as possible so it can be handled confidential.
Instead, send an email to `security@thegeeklab.de` with as many details as possible so it can be handled confidential.
## Bug Reports and Feature Requests

View File

@ -1,4 +1,4 @@
FROM amd64/python:3.9-alpine@sha256:0267b3631f06804da6b1a66c3b399e6335ed394d04d8c714b7a4dfa866c35337
FROM python:3.12-alpine@sha256:5365725a6cd59b72a927628fdda9965103e3dc671676c89ef3ed8b8b0e22e812
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
@ -8,10 +8,11 @@ LABEL org.opencontainers.image.source="https://github.com/thegeeklab/docker-auto
LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/docker-autotag"
ENV PY_COLORS=1
ENV TZ=UTC
ADD dist/docker_autotag-*.whl /
RUN apk --update add --virtual .build-deps build-base libffi-dev libressl-dev && \
RUN apk --update add --virtual .build-deps build-base libffi-dev openssl-dev && \
apk --update add git && \
pip install --upgrade --no-cache-dir pip && \
pip install --no-cache-dir $(find / -name "docker_autotag-*.whl") && \

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020 Robert Kaussow <mail@thegeeklab.de>
Copyright (c) 2022 Robert Kaussow <mail@thegeeklab.de>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -2,7 +2,7 @@
Create docker tags from a given version string
[![Build Status](https://img.shields.io/drone/build/thegeeklab/docker-autotag?logo=drone)](https://cloud.drone.io/thegeeklab/docker-autotag)
[![Build Status](https://ci.thegeeklab.de/api/badges/thegeeklab/docker-autotag/status.svg)](https://ci.thegeeklab.de/repos/thegeeklab/docker-autotag)
[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/docker-autotag)
[![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/docker-autotag)
[![Python Version](https://img.shields.io/pypi/pyversions/docker-autotag.svg)](https://pypi.org/project/docker-autotag/)
@ -21,6 +21,8 @@ Simple tool to create a list of docker tags from a given version string.
DOCKER_AUTOTAG_OUTPUT_FILE=
# adds a given suffix to every determined tag
DOCKER_AUTOTAG_SUFFIX=
# returns only tags with the applied suffix
DOCKER_AUTOTAG_SUFFIX_STRICT=False
# version string to use; returns 'latest' if nothing is specified
DOCKER_AUTOTAG_VERSION=
# comma-seprated list of static tags to add to the result set
@ -59,13 +61,16 @@ DOCKER_AUTOTAG_IGNORE_PRERELEASE=True DOCKER_AUTOTAG_VERSION=1.0.0-beta docker-a
DOCKER_AUTOTAG_SUFFIX=amd64 DOCKER_AUTOTAG_VERSION=1.0.0 docker-autotag
# 1.0.0,1.0,1,1.0.0-amd64,1.0-amd64,1-amd64
DOCKER_AUTOTAG_SUFFIX=amd64 DOCKER_AUTOTAG_SUFFIX_STRICT=True DOCKER_AUTOTAG_VERSION=1.0.0 docker-autotag
# 1.0.0-amd64,1.0-amd64,1-amd64
DOCKER_AUTOTAG_EXTRA_TAGS=extra1,extra2 DOCKER_AUTOTAG_VERSION=1.0.0 docker-autotag
# 1.0.0,1.0,1,extra1,extra2
```
## Contributors
Special thanks goes to all [contributors](https://github.com/thegeeklab/docker-autotag/graphs/contributors). If you would like to contribute,
Special thanks to all [contributors](https://github.com/thegeeklab/docker-autotag/graphs/contributors). If you would like to contribute,
please see the [instructions](https://github.com/thegeeklab/docker-autotag/blob/main/CONTRIBUTING.md).
## License

View File

@ -1,25 +0,0 @@
FROM arm32v7/python:3.9-alpine@sha256:6286e21b9e3472294444c4d7ae04b571ef342f26dfa828643bb3fea4ea2df708
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.title="docker-autotag"
LABEL org.opencontainers.image.url="https://github.com/thegeeklab/docker-autotag"
LABEL org.opencontainers.image.source="https://github.com/thegeeklab/docker-autotag"
LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/docker-autotag"
ENV PY_COLORS=1
ADD dist/docker_autotag-*.whl /
RUN apk --update add --virtual .build-deps build-base libffi-dev libressl-dev && \
apk --update add git && \
pip install --upgrade --no-cache-dir pip && \
pip install --no-cache-dir $(find / -name "docker_autotag-*.whl") && \
apk del .build-deps && \
rm -f docker_autotag-*.whl && \
rm -rf /var/cache/apk/* && \
rm -rf /root/.cache/
USER root
CMD []
ENTRYPOINT ["/usr/local/bin/docker-autotag"]

View File

@ -1,25 +0,0 @@
FROM arm64v8/python:3.9-alpine@sha256:967915ae7fd5154ec94d32f884e59dc7e5a46a7f71f0b32ff7a1258bc285fe99
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.title="docker-autotag"
LABEL org.opencontainers.image.url="https://github.com/thegeeklab/docker-autotag"
LABEL org.opencontainers.image.source="https://github.com/thegeeklab/docker-autotag"
LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/docker-autotag"
ENV PY_COLORS=1
ADD dist/docker_autotag-*.whl /
RUN apk --update add --virtual .build-deps build-base libffi-dev libressl-dev && \
apk --update add git && \
pip install --upgrade --no-cache-dir pip && \
pip install --no-cache-dir $(find / -name "docker_autotag-*.whl") && \
apk del .build-deps && \
rm -f docker_autotag-*.whl && \
rm -rf /var/cache/apk/* && \
rm -rf /root/.cache/
USER root
CMD []
ENTRYPOINT ["/usr/local/bin/docker-autotag"]

View File

@ -1,24 +0,0 @@
image: quay.io/thegeeklab/docker-autotag:{{#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/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}amd64
platform:
architecture: amd64
os: linux
- image: quay.io/thegeeklab/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm64
platform:
architecture: arm64
os: linux
variant: v8
- image: quay.io/thegeeklab/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm
platform:
architecture: arm
os: linux
variant: v7

View File

@ -1,24 +0,0 @@
image: thegeeklab/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}
{{/each}}
{{/if}}
manifests:
- image: thegeeklab/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}amd64
platform:
architecture: amd64
os: linux
- image: thegeeklab/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm64
platform:
architecture: arm64
os: linux
variant: v8
- image: thegeeklab/docker-autotag:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm
platform:
architecture: arm
os: linux
variant: v7

View File

@ -3,16 +3,14 @@
import argparse
import copy
import os
import sys
from collections import defaultdict
import semantic_version
from dockerautotag import __version__
from dockerautotag.logging import SingleLog
from dockerautotag.utils import normalize_path
from dockerautotag.utils import to_bool
from dockerautotag.utils import to_prerelease
from dockerautotag.utils import trim_prefix
from dockerautotag.utils import normalize_path, to_bool, to_prerelease, trim_prefix
class Autotag:
@ -29,9 +27,7 @@ class Autotag:
parser = argparse.ArgumentParser(
description=("Creates a list of docker tags from a given version string.")
)
parser.add_argument(
"--version", action="version", version="%(prog)s {}".format(__version__)
)
parser.add_argument("--version", action="version", version=f"%(prog)s {__version__}")
return parser.parse_args()
@ -42,6 +38,7 @@ class Autotag:
config["file"] = normalize_path(output_raw)
config["suffix"] = os.environ.get("DOCKER_AUTOTAG_SUFFIX", None)
config["suffix_strict"] = to_bool(os.environ.get("DOCKER_AUTOTAG_SUFFIX_STRICT", False))
config["version"] = os.environ.get("DOCKER_AUTOTAG_VERSION", None)
config["extra"] = os.environ.get("DOCKER_AUTOTAG_EXTRA_TAGS", None)
config["force_latest"] = to_bool(os.environ.get("DOCKER_AUTOTAG_FORCE_LATEST", False))
@ -58,16 +55,19 @@ class Autotag:
return tags + e
@staticmethod
def _tag_suffix(tags, suffix):
def _tag_suffix(tags, suffix, suffix_strict):
if not suffix:
return tags
res = copy.deepcopy(tags)
res = []
if not suffix_strict:
res = copy.deepcopy(tags)
for t in tags:
if t == "latest":
res.append(suffix)
else:
res.append("{}-{}".format(t, suffix))
res.append(f"{t}-{suffix}")
return res
@ -90,25 +90,23 @@ class Autotag:
except ValueError:
try:
version = semantic_version.Version.coerce(ref)
except Exception:
except Exception: # noqa: BLE001
return default
except Exception:
except Exception: # noqa: BLE001
return default
if version.prerelease:
tags.append(
"{}.{}.{}-{}".format(
version.major, version.minor, version.patch, to_prerelease(version.prerelease)
)
f"{version.major}.{version.minor}.{version.patch}-{to_prerelease(version.prerelease)}"
)
if not ignore_pre:
return tags
tags.append("{}.{}".format(version.major, version.minor))
tags.append("{}.{}.{}".format(version.major, version.minor, version.patch))
tags.append(f"{version.major}.{version.minor}")
tags.append(f"{version.major}.{version.minor}.{version.patch}")
if version.major > 0:
tags.append("{}".format(version.major))
tags.append(f"{version.major}")
return tags
@ -116,17 +114,18 @@ class Autotag:
config = self.config
v = self._default_tags(config["version"], config["ignore_pre"], config["force_latest"])
v = self._tag_suffix(v, config["suffix"])
v = self._tag_suffix(v, config["suffix"], config["suffix_strict"])
v = self._tag_extra(v, config["extra"])
if config["file"]:
try:
try:
if config["file"]:
with open(config["file"], "w") as f:
f.write(",".join(v))
except IOError as e:
self.logger.error("Unable to write file: {}".format(str(e)))
print(",".join(v))
else:
sys.stdout.write(",".join(v))
sys.stdout.write("\n")
except OSError as e:
self.logger.error(f"Unable to write file: {e!s}")
def main():

View File

@ -7,11 +7,10 @@ import sys
import colorama
from pythonjsonlogger import jsonlogger
from dockerautotag.utils import Singleton
from dockerautotag.utils import to_bool
from dockerautotag.utils import Singleton, to_bool
CONSOLE_FORMAT = "{}[%(levelname)s]{} %(message)s"
JSON_FORMAT = "(asctime) (levelname) (message)"
JSON_FORMAT = "%(asctime)s %(levelname)s %(message)s"
def _should_do_markup():
@ -25,7 +24,7 @@ def _should_do_markup():
colorama.init(autoreset=True, strip=not _should_do_markup())
class LogFilter(object):
class LogFilter:
"""A custom log filter which excludes log messages above the logged level."""
def __init__(self, level):
@ -46,15 +45,15 @@ class LogFilter(object):
class MultilineFormatter(logging.Formatter):
"""Logging Formatter to reset color after newline characters."""
def format(self, record): # noqa
record.msg = record.msg.replace("\n", "\n{}... ".format(colorama.Style.RESET_ALL))
def format(self, record):
record.msg = record.msg.replace("\n", f"\n{colorama.Style.RESET_ALL}... ")
return logging.Formatter.format(self, record)
class MultilineJsonFormatter(jsonlogger.JsonFormatter):
"""Logging Formatter to remove newline characters."""
def format(self, record): # noqa
def format(self, record):
record.msg = record.msg.replace("\n", " ")
return jsonlogger.JsonFormatter.format(self, record)
@ -62,11 +61,11 @@ class MultilineJsonFormatter(jsonlogger.JsonFormatter):
class Log:
"""Base logging object."""
def __init__(self, level=logging.WARN, name="ansibledoctor", json=False):
def __init__(self, level=logging.WARNING, name="ansibledoctor", json=False):
self.logger = logging.getLogger(name)
self.logger.setLevel(level)
self.logger.addHandler(self._get_error_handler(json=json))
self.logger.addHandler(self._get_warn_handler(json=json))
self.logger.addHandler(self._get_warning_handler(json=json))
self.logger.addHandler(self._get_info_handler(json=json))
self.logger.addHandler(self._get_critical_handler(json=json))
self.logger.addHandler(self._get_debug_handler(json=json))
@ -87,13 +86,13 @@ class Log:
return handler
def _get_warn_handler(self, json=False):
def _get_warning_handler(self, json=False):
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.WARN)
handler.addFilter(LogFilter(logging.WARN))
handler.setLevel(logging.WARNING)
handler.addFilter(LogFilter(logging.WARNING))
handler.setFormatter(
MultilineFormatter(
self.warn(CONSOLE_FORMAT.format(colorama.Fore.YELLOW, colorama.Style.RESET_ALL))
self.warning(CONSOLE_FORMAT.format(colorama.Fore.YELLOW, colorama.Style.RESET_ALL))
)
)
@ -162,8 +161,8 @@ class Log:
"""Format error messages and return string."""
return msg
def warn(self, msg):
"""Format warn messages and return string."""
def warning(self, msg):
"""Format warning messages and return string."""
return msg
def info(self, msg):
@ -179,7 +178,7 @@ class Log:
:returns: string
"""
return "{}{}{}".format(color, msg, colorama.Style.RESET_ALL)
return f"{color}{msg}{colorama.Style.RESET_ALL}"
def sysexit(self, code=1):
sys.exit(code)

View File

@ -1,13 +1,38 @@
"""Global utility methods and classes."""
import os
from distutils.util import strtobool
def normalize_path(path):
if path:
return os.path.abspath(os.path.expanduser(os.path.expandvars(path)))
return None
def strtobool(value):
"""Convert a string representation of truth to true or false."""
_map = {
"y": True,
"yes": True,
"t": True,
"true": True,
"on": True,
"1": True,
"n": False,
"no": False,
"f": False,
"false": False,
"off": False,
"0": False,
}
try:
return _map[str(value).lower()]
except KeyError as err:
raise ValueError(f'"{value}" is not a valid bool value') from err
def to_bool(string):
return bool(strtobool(str(string)))
@ -15,13 +40,12 @@ def to_bool(string):
def trim_prefix(text, prefix):
if text.startswith(prefix):
return text[len(prefix):]
return text[len(prefix) :]
return text
def to_prerelease(tup):
res = "".join(tup)
return res
return ".".join(tup)
class Singleton(type):
@ -31,5 +55,5 @@ class Singleton(type):
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]

1031
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -10,77 +10,52 @@ classifiers = [
"Natural Language :: English",
"Operating System :: POSIX",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Utilities",
"Topic :: Software Development",
]
description = "Creates a list of docker tags from a given version string."
documentation = "https://github.com/thegeeklab/docker-autotag/"
homepage = "https://github.com/thegeeklab/docker-autotag/"
include = [
"LICENSE",
]
include = ["LICENSE"]
keywords = ["docker", "versioning", "automation", "ci"]
license = "MIT"
name = "docker-autotag"
packages = [
{include = "dockerautotag"},
]
packages = [{ include = "dockerautotag" }]
readme = "README.md"
repository = "https://github.com/thegeeklab/docker-autotag/"
version = "0.0.0"
[tool.poetry.dependencies]
colorama = "^0.4.4"
python = "^3.6.0"
python-json-logger = "^2.0.1"
semantic-version = "^2.8.5"
[tool.poetry.dev-dependencies]
bandit = "^1.7.0"
flake8 = "^3.8.4"
flake8-blind-except = "^0.1.1"
flake8-builtins = "^1.5.3"
flake8-colors = "^0.1.9"
flake8-docstrings = "^1.5.0"
flake8-eradicate = "^1.0.0"
flake8-isort = "^4.0.0"
flake8-logging-format = "^0.6.0"
flake8-pep3101 = "^1.3.0"
flake8-polyfill = "^1.0.2"
flake8-quotes = "^3.2.0"
pdoc3 = "^0.9.2"
pep8-naming = "^0.11.1"
pydocstyle = "^5.1.1"
pytest = "^6.2.1"
pytest-cov = "^2.10.1"
pytest-mock = "^3.4.0"
requests-mock = "^1.8.0"
yapf = "^0.30.0"
colorama = "0.4.6"
python = "^3.8.0"
python-json-logger = "2.0.7"
semantic-version = "2.10.0"
[tool.poetry.scripts]
docker-autotag = "dockerautotag.cli:main"
[tool.poetry.group.dev.dependencies]
ruff = "0.4.5"
pytest = "8.2.1"
pytest-mock = "3.14.0"
pytest-cov = "5.0.0"
toml = "0.10.2"
[tool.poetry-dynamic-versioning]
enable = true
style = "semver"
vcs = "git"
[tool.isort]
default_section = "THIRDPARTY"
force_single_line = true
line_length = 99
sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
skip_glob = ["**/.env*", "**/env/*", "**/docs/*"]
[tool.pytest.ini_options]
addopts = "dockerautotag --cov=dockerautotag --cov-report=xml:coverage.xml --cov-report=term --cov-append --no-cov-on-fail"
addopts = "dockerautotag --cov=dockerautotag --cov-report=xml:coverage.xml --cov-report=term --no-cov-on-fail"
filterwarnings = [
"ignore::FutureWarning",
"ignore:.*collections.*:DeprecationWarning",
"ignore::DeprecationWarning",
"ignore:.*pep8.*:FutureWarning",
]
@ -88,5 +63,70 @@ filterwarnings = [
omit = ["**/test/*"]
[build-system]
build-backend = "poetry.core.masonry.api"
build-backend = "poetry_dynamic_versioning.backend"
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
[tool.ruff]
exclude = [
".git",
"__pycache__",
"build",
"dist",
"test",
"*.pyc",
"*.egg-info",
".cache",
".eggs",
"env*",
]
line-length = 99
indent-width = 4
[tool.ruff.lint]
# Explanation of errors
#
# D102: Missing docstring in public method
# D103: Missing docstring in public function
# D105: Missing docstring in magic method
# D107: Missing docstring in __init__
# D202: No blank lines allowed after function docstring
# D203: One blank line required before class docstring
# D212: Multi-line docstring summary should start at the first line
ignore = [
"D102",
"D103",
"D105",
"D107",
"D202",
"D203",
"D212",
"UP038",
"RUF012",
]
select = [
"D",
"E",
"F",
"Q",
"W",
"I",
"S",
"BLE",
"N",
"UP",
"B",
"A",
"C4",
"T20",
"SIM",
"RET",
"ARG",
"ERA",
"RUF",
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "lf"

View File

@ -1,4 +1,12 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>thegeeklab/renovate-presets"]
"extends": ["github>thegeeklab/renovate-presets"],
"packageRules": [
{
"matchManagers": ["woodpecker"],
"matchFileNames": [".woodpecker/test.yml"],
"matchPackageNames": ["docker.io/library/python"],
"enabled": false
}
]
}

View File

@ -1,24 +0,0 @@
[flake8]
# Explanation of errors
#
# D102: Missing docstring in public method
# D103: Missing docstring in public function
# D107: Missing docstring in __init__
# D202: No blank lines allowed after function docstring
# W503:Line break occurred before a binary operator
ignore = D102, D103, D107, D202, W503
max-line-length = 99
inline-quotes = double
exclude = .git, __pycache__, build, dist, test, *.pyc, *.egg-info, .cache, .eggs, env*
# NOTE: The format for flake8 output is set in the `.flake8` file. This is separate
# because `setup.cfg` is parsed on setup, but it would require flake8-colors
# to run successfully (which will only be available after install). So we define
# it in `.flake8`, and it seems to successfully combine the settings in the
# two files together.
[yapf]
based_on_style = google
column_limit = 99
dedent_closing_brackets = true
coalesce_brackets = true
split_before_logical_operator = true