Compare commits

...

816 Commits
v0.1.0 ... main

Author SHA1 Message Date
renovate[bot]
53d324c747
chore(deps): lock file maintenance (#716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 13:19:36 +02:00
renovate[bot]
acb91fe39b
fix(deps): update dependency zipp to v3.19.1 (#717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 13:18:51 +02:00
renovate[bot]
433b8ce2aa
fix(deps): update dependency zipp to v3.19.0 (#714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 20:23:20 +02:00
renovate[bot]
724e14c741 chore(deps): update devdeps non-major 2024-05-27 04:34:22 +00:00
renovate[bot]
c5d50cf47a
fix(deps): update dependency docker to v7.1.0 (#712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 09:23:34 +02:00
renovate[bot]
ae9a16c898 chore(docker): update python:3.12-alpine docker digest to 5365725 2024-05-24 04:41:11 +00:00
renovate[bot]
635cd51a17
chore(deps): lock file maintenance (#707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 09:37:14 +02:00
renovate[bot]
77ca9f62d2
fix(deps): update dependency zipp to v3.18.2 (#709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 09:36:16 +02:00
renovate[bot]
40e2f72fb0
chore(deps): update quay.io/thegeeklab/hugo docker tag to v0.125.7 (#708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-14 15:06:43 +02:00
renovate[bot]
5a4a9dc879 chore(deps): update dependency ruff to v0.4.4 2024-05-13 04:16:36 +00:00
renovate[bot]
0a8780c381
chore(deps): lock file maintenance (#705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 12:15:13 +02:00
renovate[bot]
c0b496943f chore(deps): update dependency ruff to v0.4.3 2024-05-06 04:32:58 +00:00
renovate[bot]
393887fbb5
fix(deps): update dependency jsonschema to v4.22.0 (#703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 12:36:25 +02:00
renovate[bot]
6555f4add6
chore(deps): lock file maintenance (#699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 10:28:19 +02:00
renovate[bot]
eee7a5a1ff chore(deps): update devdeps non-major 2024-04-29 05:01:06 +00:00
renovate[bot]
9f31bfdf9e
fix(deps): update dependency websocket_client to v1.8.0 (#701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 08:55:03 +02:00
renovate[bot]
9596da32c9 chore(deps): update dependency ruff to v0.4.1 2024-04-22 03:38:41 +00:00
renovate[bot]
d15499b120 chore(deps): update dependency ruff to v0.3.7 2024-04-15 03:13:34 +00:00
renovate[bot]
da587cdaf1
chore(deps): lock file maintenance (#686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 08:54:56 +02:00
renovate[bot]
2e78717804
fix(deps): update dependency idna to v3.7 [security] (#697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 08:54:49 +02:00
renovate[bot]
7e2c68c8fe chore(docker): update python:3.12-alpine docker digest to ef09762 2024-04-11 03:15:43 +00:00
renovate[bot]
5a98f7127d chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.45.0 2024-04-08 06:26:20 +00:00
renovate[bot]
9701519a85 chore(deps): update dependency ruff to v0.3.5 2024-04-08 05:27:50 +00:00
renovate[bot]
01293f3634 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.44.3 2024-04-01 04:59:23 +00:00
renovate[bot]
cbddcedb62
chore(deps): update quay.io/thegeeklab/wp-docker-buildx docker tag to v4 (#691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 08:56:27 +01:00
renovate[bot]
4be97eb542 chore(docker): update python:3.12-alpine docker digest to c7eb5c9 2024-03-26 04:30:21 +00:00
renovate[bot]
3e644aa33d
chore(deps): update dependency pytest-cov to v5 (#688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 08:34:23 +01:00
renovate[bot]
a86f86e3a1 chore(deps): update devdeps non-major 2024-03-25 04:48:50 +00:00
renovate[bot]
95e7ee4471
chore(deps): update quay.io/thegeeklab/hugo docker tag to v0.124.1 (#687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 08:48:24 +01:00
renovate[bot]
73d739831a chore(deps): update dependency ruff to v0.3.3 2024-03-18 03:40:02 +00:00
renovate[bot]
44599113ab chore(docker): update python:3.12-alpine docker digest to 25a82f6 2024-03-17 03:32:01 +00:00
renovate[bot]
1b33fc3b74
fix(deps): update dependency zipp to v3.18.1 (#683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-16 12:21:58 +01:00
renovate[bot]
83a32d14c6
fix(deps): update dependency zipp to v3.18.0 (#682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 08:34:16 +01:00
63ca6e6bdb
ci: fix deprecated ruff command 2024-03-12 20:52:55 +01:00
renovate[bot]
1e557bd253
chore(deps): lock file maintenance (#681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 09:39:36 +01:00
renovate[bot]
32da9eb537
chore(deps): update devdeps non-major (#680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2024-03-11 09:39:29 +01:00
renovate[bot]
1d19939b68 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.44.2 2024-03-11 03:38:10 +00:00
renovate[bot]
233b29a8cd
chore(deps): lock file maintenance (#677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 11:05:20 +01:00
renovate[bot]
90876dc452
fix(deps): update dependency environs to v11 (#678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 11:04:49 +01:00
renovate[bot]
9d2503fb30 chore(deps): update devdeps non-major 2024-03-04 03:26:08 +00:00
renovate[bot]
ec6ff19057
fix(deps): update dependency python-dateutil to v2.9.0.post0 (#675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-02 14:49:18 +01:00
renovate[bot]
fc31bd26c2
chore(deps): lock file maintenance (#673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 10:43:40 +01:00
renovate[bot]
8d9c9a5f5f chore(deps): update dependency pytest to v8.0.2 2024-02-26 03:43:17 +00:00
renovate[bot]
6a80f83587 chore(deps): update devdeps non-major 2024-02-19 04:32:20 +00:00
e261307149
[skip ci] revert renovate automerge config 2024-02-15 12:23:09 +01:00
renovate[bot]
f69a97b61c
chore(deps): update quay.io/thegeeklab/hugo docker tag to v0.122.0 (#671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-11 21:47:37 +01:00
84a3d303ed
enable renovate on automerge branches 2024-02-09 23:08:32 +01:00
renovate[bot]
24a8388cb1 chore(docker): update python:3.12-alpine docker digest to 1a05012 2024-02-09 06:11:13 +00:00
renovate[bot]
3a47080078
fix(deps): update dependency ruamel.yaml to v0.18.6 (#669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 22:36:52 +01:00
7dbd1158c6
chore: bump ruff to v0.2.1 (#668) 2024-02-06 09:34:40 +01:00
renovate[bot]
536752a83e
fix(deps): update dependency certifi to v2024 (#667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-03 14:04:32 +01:00
renovate[bot]
f334c0da1e
chore(deps): update dependency pytest to v8 (#665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 09:05:12 +01:00
renovate[bot]
fc02a0071a chore(docker): update python:3.12-alpine docker digest to 14cfc61 2024-01-29 10:49:01 +00:00
renovate[bot]
9ce45bf75b
chore(deps): update quay.io/thegeeklab/wp-docker-buildx docker tag to v3 (#664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 11:28:49 +01:00
renovate[bot]
9a5c025d7c chore(deps): update dependency ruff to v0.1.14 2024-01-22 03:08:44 +00:00
renovate[bot]
95e5f2ac4a
fix(deps): update dependency jsonschema to v4.21.1 (#662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-20 15:51:39 +01:00
renovate[bot]
48e90b3fa8 chore(docker): update python:3.12-alpine docker digest to 801b54e 2024-01-20 02:17:35 +00:00
renovate[bot]
72f6b0e758 chore(docker): update python:3.12-alpine docker digest to 4a156f7 2024-01-19 07:11:22 +00:00
renovate[bot]
b684cb042f
fix(deps): update dependency jsonschema to v4.21.0 (#659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 10:21:53 +01:00
renovate[bot]
e280fd4395 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.44.1 2024-01-16 00:18:09 +00:00
renovate[bot]
824b850e57
fix(deps): update dependency anyconfig to v0.14.0 (#656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 21:55:52 +01:00
renovate[bot]
5fb5fbb2e5
chore(deps): update dependency ruff to v0.1.13 (#657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2024-01-15 20:38:53 +01:00
renovate[bot]
fc20bb4de0
fix(deps): update dependency environs to v10.3.0 (#655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 08:30:15 +01:00
renovate[bot]
df1c82beac
fix(deps): update dependency environs to v10.2.0 (#654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-10 08:38:45 +01:00
renovate[bot]
c81a2b7dca
chore(deps): lock file maintenance (#644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:36:03 +01:00
renovate[bot]
5e7b78b181
fix(deps): update dependency docker to v7 (#640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:35:53 +01:00
renovate[bot]
f957a5c41d
fix(deps): update dependency environs to v10.1.0 (#653)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:03:24 +01:00
renovate[bot]
194a793cb2 chore(deps): update dependency ruff to v0.1.11 2024-01-08 05:01:20 +00:00
renovate[bot]
85a945b4ed
chore(deps): update quay.io/thegeeklab/hugo docker tag to v0.121.2 (#651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-07 20:42:13 +01:00
renovate[bot]
bf8e7c5256 chore(deps): update dependency pytest to v7.4.4 2024-01-01 03:51:52 +00:00
renovate[bot]
7a7df50721
fix(deps): update dependency environs to v10 (#645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-27 11:08:05 +01:00
renovate[bot]
535969d581 chore(deps): update dependency ruff to v0.1.9 2023-12-25 03:41:52 +00:00
3eebffb06a
disable renovate for python test matrix in ci 2023-12-24 00:03:57 +01:00
525483e99c
use list style synatx and cleanup (#647) 2023-12-23 23:25:22 +01:00
renovate[bot]
ea0468cc8d chore(deps): update dependency ruff to v0.1.8 2023-12-18 03:40:56 +00:00
5063ba7d6b
cleanup unused env vars in ci 2023-12-17 14:08:01 +01:00
renovate[bot]
3ea1adfe03
fix(deps): update dependency pathspec to v0.12.1 (#642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 08:55:02 +01:00
renovate[bot]
ea56dc4f41 chore(deps): update dependency ruff to v0.1.7 2023-12-11 04:57:00 +00:00
renovate[bot]
e0f99929c1 chore(docker): update python:3.12-alpine docker digest to c793b92 2023-12-09 09:48:01 +00:00
renovate[bot]
0a2257fb13
chore(deps): update quay.io/thegeeklab/wp-docker-buildx docker tag to v2 (#639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 09:50:02 +01:00
b1e15928ad
ci: exclude dockerhub from linkcheck due to rate limiting 2023-12-07 09:08:28 +01:00
renovate[bot]
f386910970 chore(docker): update python:3.12-alpine docker digest to 09f18c1 2023-12-04 23:17:59 +00:00
renovate[bot]
91fbaf9d9d
chore(deps): lock file maintenance (#636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 21:18:50 +01:00
renovate[bot]
a4643c714a
fix(deps): update dependency idna to v3.6 (#635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 21:18:37 +01:00
renovate[bot]
d7b1253555
fix(deps): update dependency websocket_client to v1.7.0 (#638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 21:07:27 +01:00
1c7b43fff0
fix settings for required status checks 2023-12-04 21:01:52 +01:00
renovate[bot]
d325e16548
fix(deps): update dependency idna to v3.5 (#634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-25 14:26:25 +01:00
renovate[bot]
7a7118aa75
chore(deps): lock file maintenance (#629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 09:01:07 +01:00
renovate[bot]
042feaa792
fix(deps): update dependency jsonschema to v4.20.0 (#630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 09:00:41 +01:00
renovate[bot]
39bca2ebf9 chore(deps): update dependency ruff to v0.1.6 2023-11-20 04:44:32 +00:00
renovate[bot]
03437632ff
fix(deps): update dependency certifi to v2023.11.17 (#632)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 14:09:40 +01:00
renovate[bot]
9b6e622a84
fix(deps): update dependency dateparser to v1.2.0 (#631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 19:22:52 +01:00
renovate[bot]
7ac907ea02 chore(deps): update dependency ruff to v0.1.5 2023-11-13 04:51:04 +00:00
renovate[bot]
4f6d92bbcc
chore(deps): lock file maintenance (#625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 14:48:56 +01:00
347e074e5b
fix: replace deprecated ruamel.yaml.safe_load (#627) 2023-11-12 14:48:48 +01:00
12f2428e9f
chore: drop yapf and favor of the ruff formatter (#626) 2023-11-10 14:50:56 +01:00
renovate[bot]
2a3e1612f8 chore(deps): update dependency ruff to v0.1.4 2023-11-06 03:53:54 +00:00
renovate[bot]
8a28ecefc6
chore(deps): lock file maintenance (#616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 22:28:33 +01:00
71365ef471
ci: cleanup matrix build name (#623) 2023-11-04 16:24:29 +01:00
renovate[bot]
ce3d0acfcd
fix(deps): update dependency ruamel.yaml to v0.18.5 (#622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 16:03:17 +01:00
renovate[bot]
c51f8d1578
fix(deps): update dependency ruamel.yaml to v0.18.3 (#617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 20:43:16 +01:00
renovate[bot]
d27a1a974f
fix(deps): update dependency jsonschema to v4.19.2 (#621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 20:07:57 +01:00
renovate[bot]
5ac3434045 chore(deps): update devdeps non-major 2023-10-30 04:33:50 +00:00
renovate[bot]
c976506e5a chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.44.0 2023-10-29 09:21:21 +00:00
renovate[bot]
e1fab9e27e chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.43.0 2023-10-27 15:45:18 +00:00
renovate[bot]
fed37cc7d0 chore(deps): update devdeps non-major 2023-10-23 04:22:59 +00:00
renovate[bot]
b82fdfbeed chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.42.0 2023-10-21 18:34:47 +00:00
renovate[bot]
06f21389bb
fix(deps): update dependency ruamel.yaml to v0.17.40 (#613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-21 15:33:50 +02:00
renovate[bot]
54954fab7b chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.41.3 2023-10-20 12:45:37 +00:00
renovate[bot]
56e140e146
fix(deps): update dependency ruamel.yaml to v0.17.39 (#610)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-20 08:58:56 +02:00
renovate[bot]
f314885f99
chore(deps): lock file maintenance (#611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 22:32:12 +02:00
renovate[bot]
985adf4614 chore(docker): update python:3.12-alpine docker digest to a5d1738 2023-10-19 15:16:44 +00:00
renovate[bot]
ee06eff3f2 chore(docker): update python:3.12-alpine docker digest to a4029bd 2023-10-19 06:41:42 +00:00
12cc05e53e
ci: fix changelog generation 2023-10-18 13:59:26 +02:00
b581e501da
chore: replace linkcheck by lychee (#607) 2023-10-16 21:34:26 +02:00
e91f10ae14
chore: replace git-chglog by git-sv (#606) 2023-10-16 15:42:46 +02:00
renovate[bot]
dd299ecf5c
chore(deps): lock file maintenance (#603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 14:28:52 +02:00
ea4bf4a218
feat: add support for python 3.12 (#605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 14:15:38 +02:00
4988cac525
fix: remove deprecated distutils (#604) 2023-10-16 12:11:13 +02:00
renovate[bot]
7b82bbf871 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.41.2 2023-10-11 01:28:27 +00:00
renovate[bot]
3c6dcda7a6
chore(deps): lock file maintenance (#601)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 14:56:21 +02:00
renovate[bot]
a75380dcab
fix(deps): update dependency ruamel.yaml to v0.17.35 (#598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 14:56:13 +02:00
renovate[bot]
3ea31f660b
fix(deps): update dependency websocket_client to v1.6.4 (#599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 14:41:11 +02:00
renovate[bot]
9bc9ef4d45 chore(deps): update dependency ruff to v0.0.292 2023-10-09 03:22:53 +00:00
renovate[bot]
0ef523ceb7 chore(docker): update python:3.11-alpine docker digest to 3e73c0b 2023-10-03 13:39:41 +00:00
renovate[bot]
2bebea17fd
chore(deps): lock file maintenance (#594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 11:46:56 +02:00
renovate[bot]
43c1180bee
fix(deps): update dependency ruamel.yaml to v0.17.33 (#592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 11:14:15 +02:00
renovate[bot]
39c8ce5c2e chore(docker): update python:3.11-alpine docker digest to cd311c6 2023-09-29 18:07:11 +00:00
renovate[bot]
fcee5e7f6f
fix(deps): update dependency jsonschema to v4.19.1 (#589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 15:15:46 +02:00
renovate[bot]
7ffd2d6ca7
chore(deps): lock file maintenance (#591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 13:47:15 +02:00
renovate[bot]
a97d20c6ff
fix(deps): update dependency zipp to v3.17.0 (#588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 13:46:58 +02:00
8f4b694d7e
ci: use secret for s3 endpoint 2023-09-26 21:40:32 +02:00
renovate[bot]
15bface557
chore(deps): update devdeps non-major (#590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:05:10 +02:00
88cf97ee86
docs: drop codecov badge 2023-09-25 09:27:02 +02:00
renovate[bot]
a4e893b5dd
chore(deps): lock file maintenance (#581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-18 08:45:47 +02:00
renovate[bot]
fe27327da5
fix(deps): update dependency websocket_client to v1.6.3 (#586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-18 08:45:39 +02:00
renovate[bot]
544c0bf25b chore(deps): update dependency ruff to v0.0.290 2023-09-18 04:32:51 +00:00
renovate[bot]
ff118d656a chore(deps): update dependency pytest to v7.4.2 2023-09-11 04:41:20 +00:00
renovate[bot]
cca9765fa2 chore(deps): update devdeps non-major 2023-09-04 04:51:54 +00:00
renovate[bot]
aa1b914f6b chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.41.1 2023-09-04 02:08:07 +00:00
renovate[bot]
a265caa3ca chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.41.0 2023-09-01 04:13:21 +00:00
renovate[bot]
5f2594710f chore(deps): update dependency ruff to v0.0.286 2023-08-28 03:34:59 +00:00
renovate[bot]
16e6aec457 chore(docker): update python:3.11-alpine docker digest to 5d769f9 2023-08-26 09:47:36 +00:00
7c1bab90c9
fix: use poetry-dynamic-versioning backend wrapper 2023-08-25 00:28:39 +02:00
4f6b8880c4
add back pytest to ci 2023-08-24 23:53:26 +02:00
renovate[bot]
f0b927edd2
chore(deps): lock file maintenance (#575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 23:30:31 +02:00
renovate[bot]
bb651f9e10
fix(deps): update dependency websocket_client to v1.6.2 (#577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 23:24:22 +02:00
9b2094d0f2
ci: migrate to woodpecker (#578) 2023-08-24 22:56:04 +02:00
renovate[bot]
034100a706 chore(deps): update dependency ruff to v0.0.285 2023-08-21 04:55:14 +00:00
renovate[bot]
b6c0253a04 chore(deps): update dependency ruff to v0.0.284 2023-08-14 03:37:02 +00:00
renovate[bot]
cae751f84a chore(docker): update python:3.11-alpine docker digest to 603975e 2023-08-09 13:04:49 +00:00
renovate[bot]
e7622ecf28 chore(docker): update python:3.11-alpine docker digest to 4352dc7 2023-08-09 06:48:26 +00:00
renovate[bot]
69c1ddecb6
fix(deps): update dependency jsonschema to v4.19.0 (#570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-09 07:34:32 +02:00
renovate[bot]
81de219b8a
chore(deps): lock file maintenance (#569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-09 07:34:03 +02:00
renovate[bot]
304c54cdaa chore(docker): update python:3.11-alpine docker digest to bd16cc5 2023-08-08 11:14:17 +00:00
renovate[bot]
3562868a44 chore(deps): update dependency ruff to v0.0.282 2023-08-07 05:09:28 +00:00
renovate[bot]
0b9ce24909
fix(deps): update dependency jsonschema to v4.18.6 (#567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-05 15:50:19 +02:00
renovate[bot]
6397347f6e
fix(deps): update dependency jsonschema to v4.18.5 (#566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 22:00:18 +02:00
renovate[bot]
53db01a050
chore(deps): lock file maintenance (#565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 10:47:11 +02:00
renovate[bot]
4a3ffc823b
fix(deps): update dependency pathspec to v0.11.2 (#564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-02 10:44:28 +02:00
renovate[bot]
88ddece439 chore(deps): update dependency ruff to v0.0.280 2023-07-24 04:05:17 +00:00
renovate[bot]
b4fcf55bad
fix(deps): update dependency jsonschema to v4.18.4 (#554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-23 13:48:14 +02:00
renovate[bot]
eb600badab
fix(deps): update dependency zipp to v3.16.2 (#555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-23 13:36:31 +02:00
00d3334ec8
chore: drop support for python 3.7 (#562)
BREAKING CHANGE: The support for Python 3.7 was removed.
2023-07-23 13:14:45 +02:00
renovate[bot]
f8c0ffc313
fix(deps): update dependency certifi to v2023.7.22 (#561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-23 10:01:59 +02:00
renovate[bot]
5a14273f81
chore(deps): lock file maintenance (#546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-19 10:38:06 +02:00
renovate[bot]
08c0bce852
chore(deps): update dependency ruff to v0.0.278 (#560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2023-07-19 10:36:03 +02:00
renovate[bot]
f8cc44c8c8 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.40.1 2023-07-12 12:42:03 +00:00
renovate[bot]
8dd1af4c8c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.40.0 2023-07-11 23:23:17 +00:00
5ac47c0af6
ci: bump hugo to v0.115.2 (#558) 2023-07-11 21:29:37 +02:00
renovate[bot]
330045634e chore(deps): update dependency ruff to v0.0.277 2023-07-10 04:52:23 +00:00
renovate[bot]
9a36af321b chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.7 2023-07-03 11:17:34 +00:00
renovate[bot]
e77b94a096 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.6 2023-06-28 22:58:07 +00:00
renovate[bot]
8e12d9d38d
chore(deps): update devdeps non-major (#551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2023-06-28 10:10:26 +02:00
renovate[bot]
62b2865424
fix(deps): update dependency websocket_client to v1.6.1 (#550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-28 07:53:47 +02:00
renovate[bot]
ce31cb7109 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.5 2023-06-23 12:41:47 +00:00
b99be1f3a5
ci: bump hugo to v0.114.0 (#549) 2023-06-23 11:13:55 +02:00
9d81d2fd66
docs: replace socialmedia image (#547) 2023-06-20 14:23:50 +02:00
renovate[bot]
2258638555 chore(deps): update dependency pytest-mock to v3.11.1 2023-06-19 04:13:29 +00:00
renovate[bot]
59dbc8daef
fix(deps): update dependency ruamel.yaml to v0.17.32 (#543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-17 17:22:06 +02:00
renovate[bot]
aa20b9aa32
fix(deps): update dependency websocket_client to v1.6.0 (#544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-17 15:22:40 +02:00
renovate[bot]
c1a372ebd0 chore(docker): update python:3.11-alpine docker digest to 25df32b 2023-06-15 16:38:45 +00:00
renovate[bot]
2ecdb5ce2c
chore(deps): lock file maintenance (#541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 09:20:17 +02:00
renovate[bot]
983911a58b
chore(deps): update devdeps non-major (#540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
2023-06-15 09:20:09 +02:00
renovate[bot]
b88a8fe280
fix(deps): update dependency websocket_client to v1.5.3 (#539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-10 15:33:57 +02:00
renovate[bot]
758888ef93 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.4 2023-06-09 11:23:13 +00:00
renovate[bot]
28baf4f9bc chore(docker): update python:3.11-alpine docker digest to 995c7fc 2023-06-08 03:25:54 +00:00
renovate[bot]
f27e44e979 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.3 2023-06-05 18:22:10 +00:00
renovate[bot]
69761af054
fix(deps): update dependency ruamel.yaml to v0.17.31 (#533)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-05 10:35:56 +02:00
renovate[bot]
352bd11129
chore(deps): lock file maintenance (#535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-05 10:06:36 +02:00
renovate[bot]
b048c76870
fix(deps): update dependency docker to v6.1.3 (#534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-05 10:06:19 +02:00
renovate[bot]
fb8d7d835d chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.2 2023-05-29 12:28:00 +00:00
renovate[bot]
6f2ed5ca86
fix(deps): update dependency ruamel.yaml to v0.17.28 (#529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 12:23:43 +02:00
renovate[bot]
92eb995799
chore(deps): lock file maintenance (#531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 12:07:44 +02:00
renovate[bot]
c3c2cec106
fix(deps): update dependency websocket_client to v1.5.2 (#526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 12:07:19 +02:00
renovate[bot]
82036df6ab
chore(deps): update devdeps non-major (#524) 2023-05-29 11:35:27 +02:00
renovate[bot]
5c457a3715
fix(deps): update dependency requests to v2.31.0 [security] (#528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-28 23:10:05 +02:00
renovate[bot]
68cfc83503
chore(deps): lock file maintenance (#525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-28 15:28:55 +02:00
renovate[bot]
3630fdc4e2
fix(deps): update dependency certifi to v2023 (#520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-28 15:28:41 +02:00
7b2270d4f1
chore: remove poetry experimental.new-installer flag (#530) 2023-05-28 15:18:52 +02:00
renovate[bot]
f198a21b70
fix(deps): update dependency docker to v6.1.2 (#519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-14 19:48:05 +02:00
renovate[bot]
a3b539953f
chore(deps): lock file maintenance (#506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-14 18:56:44 +02:00
renovate[bot]
4de34d58f5
fix(deps): update dependency requests to v2.30.0 (#518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-14 18:55:38 +02:00
renovate[bot]
839765c19d
fix(deps): update dependency ruamel.yaml to v0.17.26 (#513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-13 11:11:54 +02:00
renovate[bot]
cafb48dd8c chore(docker): update python:3.11-alpine docker digest to 4e8e9a5 2023-05-12 19:26:32 +00:00
renovate[bot]
c09cbcecd5 chore(docker): update python:3.11-alpine docker digest to 2f2dadb 2023-05-12 08:02:20 +00:00
renovate[bot]
afcd209277 chore(deps): update dependency ruff to v0.0.265 2023-05-08 08:06:07 +00:00
renovate[bot]
3ff50a673f chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.1 2023-05-04 16:15:45 +00:00
renovate[bot]
7865d4bfe3 chore(docker): update python:3.11-alpine docker digest to 7210235 2023-05-03 23:27:41 +00:00
renovate[bot]
32eb2fcaed chore(docker): update python:3.11-alpine docker digest to 06a3f7b 2023-05-03 14:19:14 +00:00
7695d32d61
fix bare url in contribution file (#515) 2023-05-03 09:36:55 +02:00
renovate[bot]
3b4e4f042a chore(deps): update dependency ruff to v0.0.263 2023-05-01 04:36:48 +00:00
renovate[bot]
ffa9f1de98
fix(deps): update dependency requests to v2.29.0 (#511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-27 08:46:50 +02:00
renovate[bot]
222fdb9a24 chore(deps): update devdeps non-major 2023-04-24 05:43:03 +00:00
renovate[bot]
b26ea42ad0 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.39.0 2023-04-20 03:21:34 +00:00
renovate[bot]
beb4a34349 chore(deps): update dependency pytest to v7.3.1 2023-04-17 17:40:38 +00:00
5b55a2585c
ci: switch to new codecov uploader (#508) 2023-04-17 16:22:23 +02:00
renovate[bot]
9232d91088 chore(deps): update devdeps non-major 2023-04-10 04:43:37 +00:00
renovate[bot]
ae7d326db0 chore(docker): update python:3.11-alpine docker digest to 507818d 2023-04-08 02:25:54 +00:00
renovate[bot]
ffc99756d9 chore(docker): update python:3.11-alpine docker digest to 5405826 2023-04-06 10:01:41 +00:00
renovate[bot]
f453268586 chore(docker): update python:3.11-alpine docker digest to 4b4078a 2023-03-30 08:05:07 +00:00
renovate[bot]
e186b101f9 chore(docker): update python:3.11-alpine docker digest to 4d53bc4 2023-03-30 01:51:21 +00:00
renovate[bot]
61ff009407 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.38.1 2023-03-27 22:11:45 +00:00
renovate[bot]
1d71983c0a
chore(deps): lock file maintenance (#499) 2023-03-27 21:09:09 +02:00
renovate[bot]
f4a3917675
fix(deps): update dependency dateparser to v1.1.8 (#496) 2023-03-27 21:08:55 +02:00
renovate[bot]
1d3d472507 chore(docker): update python:3.11-alpine docker digest to 8af856d 2023-03-27 14:04:31 +00:00
renovate[bot]
99437083fc
chore(deps): update dependency ruff to v0.0.259 (#498) 2023-03-27 13:15:09 +02:00
renovate[bot]
f6039d90b8 chore(docker): update python:3.11-alpine docker digest to 506eed4 2023-03-23 19:52:15 +00:00
renovate[bot]
711acd985c
fix(deps): update dependency pathspec to v0.11.1 (#493) 2023-03-20 11:00:25 +01:00
renovate[bot]
b4caa60b51
chore(deps): lock file maintenance (#489) 2023-03-20 10:37:06 +01:00
renovate[bot]
f268028c67
chore(deps): update dependency ruff to v0.0.257 (#494) 2023-03-20 10:34:08 +01:00
renovate[bot]
088bcebfb0 chore(docker): update python:3.11-alpine docker digest to 741e650 2023-03-14 18:27:47 +00:00
6c97a93bc4
chore: exclude ruff linter rule UP038 (#490) 2023-03-07 14:21:44 +01:00
renovate[bot]
3f8f86351b chore(deps): update devdependencies (non-major) 2023-03-06 05:06:31 +00:00
renovate[bot]
913b5aab01 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.38.0 2023-03-05 00:51:31 +00:00
renovate[bot]
445e0e9435
fix(deps): update dependency zipp to v3.15.0 (#484) 2023-02-27 09:33:21 +01:00
renovate[bot]
005a44842e
fix(deps): update dependency python-json-logger to v2.0.7 (#482) 2023-02-27 09:21:42 +01:00
renovate[bot]
83e3c0a158
chore(deps): update dependency ruff to v0.0.252 (#485) 2023-02-27 09:02:39 +01:00
renovate[bot]
5e163ba5b5 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.37.5 2023-02-27 04:54:22 +00:00
renovate[bot]
baa8dbe240 chore(docker): update python:3.11-alpine docker digest to 1a5c146 2023-02-25 11:32:46 +00:00
renovate[bot]
1c1bc5fe32
fix(deps): update dependency python-json-logger to v2.0.6 (#478) 2023-02-18 14:34:38 +01:00
renovate[bot]
4cc8f89505
fix(deps): update dependency zipp to v3.14.0 (#481) 2023-02-18 14:25:13 +01:00
renovate[bot]
7480d76db5 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.37.4 2023-02-17 15:41:09 +00:00
renovate[bot]
20c43043c7 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.37.3 2023-02-16 16:41:47 +00:00
9073896721
refctor: migrate flake8 to ruff python linter (#477) 2023-02-12 14:46:35 +01:00
renovate[bot]
bff68cb9bd chore(docker): update python:3.11-alpine docker digest to 8463061 2023-02-11 19:07:50 +00:00
renovate[bot]
4ed5285d63 chore(docker): update python:3.11-alpine docker digest to dbc4bbe 2023-02-11 10:38:24 +00:00
renovate[bot]
80a953e930
fix(deps): update dependency zipp to v3.13.0 (#474) 2023-02-09 19:50:25 +01:00
5c92916f51
ci: bump container build plugin to drone-docker-buildx:23 (#473) 2023-02-09 19:42:09 +01:00
renovate[bot]
fd4eb05830 chore(docker): update python:3.11-alpine docker digest to deb0f63 2023-02-09 09:43:17 +00:00
6a2454d081
fix drone-matrix template (#471) 2023-02-08 21:57:33 +01:00
renovate[bot]
6d4ff66b3f
fix(deps): update dependency websocket_client to v1.5.1 (#469) 2023-02-08 12:11:52 +01:00
renovate[bot]
ca1db20838
fix(deps): update dependency zipp to v3.12.1 (#470) 2023-02-08 10:03:12 +01:00
renovate[bot]
ef35312edf chore(docker): update python:3.11-alpine docker digest to d8b0703 2023-02-04 11:25:08 +00:00
renovate[bot]
33d4d8cea3
fix(deps): update dependency dateparser to v1.1.7 (#467) 2023-02-02 21:33:45 +01:00
renovate[bot]
cf5af9f34f
fix(deps): update dependency pathspec to v0.11.0 (#464) 2023-02-02 12:21:23 +01:00
renovate[bot]
fbcc0e3dfa
fix(deps): update dependency websocket_client to v1.5.0 (#465) 2023-02-02 10:24:27 +01:00
renovate[bot]
6bbc993e48
chore(deps): lock file maintenance (#462) 2023-02-02 09:22:59 +01:00
renovate[bot]
4bc7375c13
fix(deps): update dependency zipp to v3.12.0 (#466) 2023-02-02 09:16:06 +01:00
renovate[bot]
98c740fb90 chore(docker): update python:3.11-alpine docker digest to ca1298a 2023-01-24 11:25:33 +00:00
renovate[bot]
31994c8c06 chore(deps): update devdependencies (non-major) 2023-01-23 05:52:37 +00:00
renovate[bot]
9346326e0b chore(docker): update python:3.11-alpine docker digest to 625383c 2023-01-18 13:11:59 +00:00
renovate[bot]
6f7e3cf889
fix(deps): update dependency dateparser to v1.1.6 (#457) 2023-01-16 09:46:17 +01:00
renovate[bot]
82d21e5b07
fix(deps): update dependency requests to v2.28.2 (#458) 2023-01-16 09:33:43 +01:00
8135f73ee2
refactor: use buildx for multiarch container builds (#459) 2023-01-16 09:10:35 +01:00
renovate[bot]
fa1d245f12 chore(docker): update docker digests 2023-01-10 05:19:59 +00:00
renovate[bot]
ff722181f9
chore(deps): lock file maintenance (#448) 2023-01-09 21:17:32 +01:00
renovate[bot]
1219aaa1c7 chore(deps): update dependency pydocstyle to v6.2.3 2023-01-09 03:36:22 +00:00
renovate[bot]
6929c94a3a chore(docker): update docker digests 2023-01-08 18:29:30 +00:00
8b8e3eafae
chore: remove support for arm32 (#454)
BREAKING CHANGE: We dropped the arm32 platform support and builds.
2023-01-08 16:12:23 +01:00
renovate[bot]
a3d1ee6d2a
chore(deps): update dependency flake8-isort to v6 (#450) 2023-01-03 14:52:39 +01:00
renovate[bot]
fcaf3e47d0
fix(deps): update dependency dateparser to v1.1.5 (#452) 2023-01-03 14:08:40 +01:00
renovate[bot]
55248a7199 chore(deps): update devdependencies (non-major) 2022-12-26 03:52:06 +00:00
renovate[bot]
522941a6e3 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.37.1 2022-12-21 20:29:48 +00:00
renovate[bot]
354d0ad8a7 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.37.0 2022-12-12 00:12:29 +00:00
renovate[bot]
825068c98d
fix(deps): update dependency pathspec to v0.10.3 (#446) 2022-12-11 12:42:21 +01:00
renovate[bot]
9e0e4d3bfa
chore(deps): lock file maintenance (#433) 2022-12-09 22:45:43 +01:00
renovate[bot]
26a4ca5601
chore(docker): update docker digests (#443) 2022-12-09 22:45:31 +01:00
renovate[bot]
a6973289bf
fix(deps): update dependency certifi to v2022.12.7 [security] (#444) 2022-12-09 22:14:08 +01:00
renovate[bot]
65af002494
fix(deps): update dependency zipp to v3.11.0 (#438) 2022-12-04 19:05:50 +01:00
renovate[bot]
1f15102098
fix(deps): update dependency jsonschema to v4.17.3 (#440) 2022-12-04 18:21:08 +01:00
renovate[bot]
9cd7526026 chore(docker): update docker digests 2022-11-30 04:40:48 +00:00
renovate[bot]
0d85108bc1 chore(deps): update dependency flake8-logging-format to v0.9.0 2022-11-28 03:34:14 +00:00
82ec4f3138
ci: use python311 base image on ci (#437) 2022-11-24 21:35:40 +01:00
renovate[bot]
2d27816802
fix(deps): update dependency dateparser to v1.1.4 (#434) 2022-11-24 15:10:22 +01:00
renovate[bot]
edddd5ea30
fix(deps): update dependency jsonschema to v4.17.1 (#435) 2022-11-24 10:46:24 +01:00
renovate[bot]
b3eb7c6659 chore(deps): update dependency flake8-isort to v5.0.3 2022-11-21 04:26:04 +00:00
renovate[bot]
62a6ecb92a
chore(deps): lock file maintenance (#425) 2022-11-17 21:40:02 +01:00
renovate[bot]
4d55cab3f0
fix(deps): update dependency pathspec to v0.10.2 (#429) 2022-11-17 21:39:48 +01:00
renovate[bot]
52241caf28 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.36.1 2022-11-17 00:26:29 +00:00
renovate[bot]
c823004049 chore(docker): update docker digests 2022-11-16 12:24:14 +00:00
renovate[bot]
b4442b9a95 chore(docker): update docker digests 2022-11-12 15:30:23 +00:00
renovate[bot]
c4dd01eb1a chore(docker): update docker digests 2022-11-11 16:08:02 +00:00
renovate[bot]
1347dbe794 chore(docker): update docker digests 2022-11-11 06:11:43 +00:00
renovate[bot]
6d66189180 chore(deps): update dependency flake8-builtins to v2.0.1 2022-11-07 04:47:47 +00:00
renovate[bot]
3a9eec8eb9
fix(deps): update dependency docker to v6.0.1 (#419) 2022-11-05 14:09:44 +01:00
renovate[bot]
fa86bb6aea
fix(deps): update dependency dateparser to v1.1.3 (#420) 2022-11-05 09:20:25 +01:00
104f38790b
chore: bump hugo to v0.105.0 (#423) 2022-11-05 09:20:01 +01:00
renovate[bot]
85c9bfe492
fix(deps): update dependency websocket_client to v1.4.2 (#421) 2022-11-05 07:46:30 +01:00
198c08f684
ci: refactor broken link check (#422) 2022-11-04 12:58:11 +01:00
renovate[bot]
45c5213b61 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.36.0 2022-11-03 18:49:54 +00:00
06a9dd3772
ci: add test step for python 11 (#417) 2022-11-02 13:01:40 +01:00
renovate[bot]
07f0d1b83e
fix(deps): update dependency jsonschema to v4.17.0 (#416) 2022-11-02 10:01:58 +01:00
renovate[bot]
54dac885be
chore(deps): lock file maintenance (#415) 2022-11-02 09:11:24 +01:00
renovate[bot]
31ae49ed2c chore(deps): update dependency pytest to v7.2.0 2022-10-31 05:36:22 +00:00
renovate[bot]
f15a5beb16
fix(deps): update dependency dateparser to v1.1.2 (#405) 2022-10-26 09:26:43 +02:00
renovate[bot]
6b2043486b
fix(deps): update dependency zipp to v3.10.0 (#407) 2022-10-26 08:40:52 +02:00
renovate[bot]
b3003266b6
chore(deps): update arm64v8/python docker tag to v3.11 (#411) 2022-10-26 08:40:43 +02:00
renovate[bot]
ce62684262
chore(deps): update arm32v7/python docker tag to v3.11 (#412) 2022-10-26 08:40:37 +02:00
renovate[bot]
fa83c61dd6 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.8 2022-10-26 02:12:23 +00:00
renovate[bot]
1c74385b2c
chore(deps): lock file maintenance (#403) 2022-10-25 21:33:21 +02:00
renovate[bot]
9772d31eeb
chore(deps): update python docker tag to v3.11 (#409) 2022-10-25 21:33:04 +02:00
renovate[bot]
1f941b38bc
fix(deps): update dependency colorama to v0.4.6 (#410) 2022-10-25 21:32:50 +02:00
renovate[bot]
2fcdec3888 chore(docker): update docker digests 2022-10-25 13:50:17 +00:00
renovate[bot]
119308d609 chore(docker): update docker digests 2022-10-21 00:44:44 +00:00
renovate[bot]
e3522464ce chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.7 2022-10-17 10:59:35 +00:00
renovate[bot]
3d2b4189a2
chore(deps): lock file maintenance (#402) 2022-10-11 21:03:05 +02:00
renovate[bot]
0e7ee6e916 chore(deps): update devdependencies (non-major) 2022-10-10 03:08:18 +00:00
renovate[bot]
f0e9769c96
fix(deps): update dependency zipp to v3.9.0 (#399) 2022-10-09 21:15:49 +02:00
renovate[bot]
696cfebd23
chore(deps): update dependency flake8-builtins to v2 (#397) 2022-10-09 16:30:40 +02:00
renovate[bot]
456093413c
chore(deps): update dependency flake8-pep3101 to v2 (#398) 2022-10-09 13:40:09 +02:00
renovate[bot]
ab87570886
chore(deps): update dependency flake8-isort to v5 (#400) 2022-10-09 11:35:21 +02:00
renovate[bot]
f3ed88edd9 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.6 2022-10-04 13:18:55 +00:00
renovate[bot]
0c1c0626d7
chore(deps): update dependency pytest-cov to v4 (#395) 2022-09-29 08:54:27 +02:00
renovate[bot]
a67deea0ac chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.5 2022-09-28 12:47:35 +00:00
renovate[bot]
f0c6a52006
chore(deps): lock file maintenance (#393) 2022-09-28 08:40:51 +02:00
renovate[bot]
8df41f515d
fix(deps): update dependency certifi to v2022.9.24 (#391) 2022-09-28 08:40:40 +02:00
renovate[bot]
dd97930c20 chore(deps): update dependency flake8-eradicate to v1.4.0 2022-09-26 05:15:19 +00:00
renovate[bot]
e9793ca648 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.4 2022-09-23 22:47:10 +00:00
renovate[bot]
1a306faca2
fix(deps): update dependency idna to v3.4 (#388) 2022-09-19 09:07:12 +02:00
renovate[bot]
cf80327e73
chore(deps): lock file maintenance (#389) 2022-09-19 09:06:05 +02:00
renovate[bot]
30b7370b4e
fix(deps): update dependency certifi to v2022.9.14 (#387) 2022-09-15 09:44:55 +02:00
renovate[bot]
23656f2a94 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.3 2022-09-12 17:03:39 +00:00
renovate[bot]
3353a10578
chore(docker): update docker digests (#383) 2022-09-12 10:26:15 +02:00
renovate[bot]
f4b28177c4
fix(deps): update dependency jsonschema to v4.16.0 (#384) 2022-09-12 10:26:04 +02:00
renovate[bot]
0c511f6f1f
fix(deps): update dependency certifi to v2022.6.15.1 (#385) 2022-09-12 09:23:47 +02:00
renovate[bot]
60200964d3
fix(deps): update dependency websocket_client to v1.4.1 (#379) 2022-09-06 09:26:10 +02:00
renovate[bot]
9a213d2afd
fix(deps): update dependency jsonschema to v4.15.0 (#377) 2022-09-06 08:39:59 +02:00
renovate[bot]
effb7d6df8 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.2 2022-09-05 22:44:41 +00:00
renovate[bot]
50c379fb82
chore(deps): lock file maintenance (#381) 2022-09-05 20:40:14 +02:00
renovate[bot]
954cef5635
fix(deps): update dependency pathspec to v0.10.1 (#376) 2022-09-05 20:37:36 +02:00
renovate[bot]
1b3840f654 chore(deps): update dependency pytest to v7.1.3 2022-09-05 06:42:32 +00:00
renovate[bot]
69059b1492 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.1 2022-09-02 14:13:44 +00:00
renovate[bot]
5b4bde8a7c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.35.0 2022-08-30 15:12:29 +00:00
renovate[bot]
2d7d473b31
chore(deps): lock file maintenance (#374) 2022-08-29 21:46:40 +02:00
renovate[bot]
478ba06a96
fix(deps): update dependency websocket_client to v1.4.0 (#373) 2022-08-29 21:18:59 +02:00
renovate[bot]
99b8ad5ac9 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.34.2 2022-08-23 02:02:26 +00:00
renovate[bot]
67e431c5c3
chore(deps): lock file maintenance (#347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 10:01:27 +02:00
renovate[bot]
a68018500b
fix(deps): update dependency jsonschema to v4.14.0 (#370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 09:59:48 +02:00
renovate[bot]
f667915ef4
chore(deps): update dependency flake8 to v5 (#353)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 08:40:14 +02:00
renovate[bot]
81c7bbd881
chore(deps): update devdependencies (non-major) (#366) 2022-08-22 00:08:31 +02:00
renovate[bot]
9e066f0099
fix(deps): update dependency jsonschema to v4.13.0 (#369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-19 22:26:38 +02:00
renovate[bot]
31bad7357e
fix(deps): update dependency docker to v6 (#368) 2022-08-19 12:01:18 +02:00
renovate[bot]
ac13339ddc
fix(deps): update dependency jsonschema to v4.12.1 (#367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-18 21:58:48 +02:00
renovate[bot]
64ffb12722 chore(docker): update docker digests 2022-08-11 05:34:16 +00:00
renovate[bot]
8cceb71ad1 chore(docker): update docker digests to 3fe6aa2 2022-08-10 12:43:03 +00:00
renovate[bot]
9b15c1b3e3 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.34.1 2022-08-08 22:45:22 +00:00
renovate[bot]
f9ea8a959b chore(deps): update dependency flake8-isort to v4.2.0 2022-08-08 05:17:11 +00:00
renovate[bot]
0d8f854db0 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.34.0 2022-08-04 23:54:49 +00:00
renovate[bot]
4e0a346dd6 chore(docker): update python digest to 4543fd9 2022-08-03 23:49:25 +00:00
renovate[bot]
3d06abfc94
fix(deps): update dependency jsonschema to v4.9.1 (#359) 2022-08-03 20:17:46 +02:00
renovate[bot]
b3ea853840 chore(docker): update docker digests to 4fd92f2 2022-08-03 15:17:57 +00:00
renovate[bot]
86fcb17237 chore(docker): update python digest to ffc9076 2022-08-03 05:59:57 +00:00
renovate[bot]
2388ca8c48 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.33.2 2022-08-02 04:22:16 +00:00
renovate[bot]
826a949d0e
fix(deps): update dependency jsonschema to v4.9.0 (#354) 2022-08-01 21:16:12 +02:00
renovate[bot]
083307b673 chore(deps): update dependency flake8-isort to v4.1.2.post0 2022-08-01 03:19:23 +00:00
renovate[bot]
d2e60c36c9
fix(deps): update dependency jsonschema to v4.8.0 (#352) 2022-07-30 21:43:09 +02:00
renovate[bot]
c03ad419aa chore(docker): update docker digests to dcc75b5 2022-07-27 17:36:47 +00:00
renovate[bot]
46caa3d2d0 chore(docker): update docker digests to fe93ef5 2022-07-27 05:37:16 +00:00
9f1c0c39d2
ci: switch to thegeeklab/drone-s3-sync plugin 2022-07-26 14:47:52 +02:00
4eac4e6035
[skip ci] adjust repo config 2022-07-21 09:51:00 +02:00
renovate[bot]
12317162c4 chore(docker): update docker digests to 8042f9a 2022-07-19 12:38:10 +00:00
renovate[bot]
83304370c0 chore(docker): update docker digests to 5e8298e 2022-07-19 05:41:06 +00:00
renovate[bot]
433af8a364 chore(deps): update dependency pep8-naming to v0.13.1 2022-07-18 02:08:19 +00:00
renovate[bot]
789fad25ad chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.33.1 2022-07-17 22:07:11 +00:00
30adbcf2e2
ci: switch alpine-tools image 2022-07-17 20:54:35 +02:00
renovate[bot]
7e26330409 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.33.0 2022-07-15 19:48:22 +00:00
8d1642db90
docs: fix spelling in readme 2022-07-15 08:50:09 +02:00
renovate[bot]
5da9cad46f
fix(deps): update dependency python-json-logger to v2.0.4 (#342) 2022-07-13 12:25:24 +02:00
renovate[bot]
d168316802
fix(deps): update dependency jsonschema to v4.7.2 (#339) 2022-07-13 10:30:57 +02:00
renovate[bot]
d8a1766ad5
fix(deps): update dependency zipp to v3.8.1 (#343) 2022-07-13 08:58:07 +02:00
renovate[bot]
0e2014dbd2
chore(deps): lock file maintenance (#334) 2022-07-11 13:29:00 +02:00
renovate[bot]
877edacc05
fix(deps): update dependency python-json-logger to v2.0.3 (#340) 2022-07-11 10:49:19 +02:00
renovate[bot]
adcff64901
fix(deps): update dependency nested-lookup to v0.2.25 (#338) 2022-07-11 08:48:23 +02:00
renovate[bot]
112fb4561a chore(deps): update dependency pytest-mock to v3.8.2 2022-07-11 05:21:42 +00:00
renovate[bot]
2053091beb
fix(deps): update dependency requests to v2.28.1 (#337) 2022-06-29 21:04:51 +02:00
renovate[bot]
405d444812
fix(deps): update dependency jsonschema to v4.6.1 (#336) 2022-06-29 08:57:19 +02:00
renovate[bot]
e43c8e55fc chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.32.4 2022-06-27 14:54:53 +00:00
renovate[bot]
d2e8dcb887 chore(deps): update dependency pytest-mock to v3.8.1 2022-06-27 05:38:51 +00:00
renovate[bot]
6950924a3e
chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.32.3 (#332) 2022-06-22 10:02:07 +02:00
renovate[bot]
b4bb4a6b03
fix(deps): update dependency websocket_client to v1.3.3 (#331) 2022-06-20 21:04:42 +02:00
renovate[bot]
b88532308c
chore(deps): lock file maintenance (#330) 2022-06-20 10:25:19 +02:00
renovate[bot]
d7e23976f0
fix(deps): update dependency colorama to v0.4.5 (#329) 2022-06-20 08:53:27 +02:00
renovate[bot]
31e1985f70
fix(deps): update dependency requests to v2.28.0 (#325) 2022-06-19 23:35:17 +02:00
renovate[bot]
dbce4d72c8
chore(deps): lock file maintenance (#323) 2022-06-19 14:55:04 +02:00
renovate[bot]
99e6d7cef8
fix(deps): update dependency certifi to v2022.6.15 (#328) 2022-06-19 14:54:46 +02:00
Renovate Bot
c394ac85d4 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.32.2 2022-06-12 17:12:02 +00:00
Renovate Bot
fcdeb0eb98 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.32.1 2022-06-11 02:08:56 +00:00
Renovate Bot
fe131bfb04 chore(docker): update docker digests to 22fb80b 2022-06-08 03:12:28 +00:00
Renovate Bot
f2c6073f24 chore(deps): update dependency pep8-naming to v0.13.0 2022-06-06 05:57:59 +00:00
Renovate Bot
d316266174 chore(docker): update docker digests to 7467540 2022-06-03 05:39:54 +00:00
renovate[bot]
649dc4eca1
chore(deps): lock file maintenance (#314) 2022-06-02 14:04:47 +02:00
renovate[bot]
4379e29dac
fix(deps): update dependency jsonschema to v4.6.0 (#320) 2022-06-02 14:04:36 +02:00
Renovate Bot
21576991a5 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.32.0 2022-06-02 02:56:38 +00:00
Renovate Bot
c07e22f62f chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.31.0 2022-05-30 23:49:54 +00:00
Renovate Bot
f4ccdc2324 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.30.2 2022-05-26 17:50:52 +00:00
Renovate Bot
cda55122f2 chore(docker): update docker digests to 4051162 2022-05-26 04:04:35 +00:00
Renovate Bot
cf7b43f7e4 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.30.1 2022-05-24 12:36:52 +00:00
Renovate Bot
648e9961b8 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.30.0 2022-05-23 01:34:10 +00:00
Renovate Bot
29fdc2c6ea chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.6 2022-05-21 19:03:28 +00:00
renovate[bot]
753795636e
fix(deps): update dependency certifi to v2022 (#310) 2022-05-21 13:20:55 +02:00
renovate[bot]
041f29eb58
chore(deps): lock file maintenance (#307) 2022-05-20 17:09:35 +02:00
13a0f35cd5
ci: switch to linkchecker (#311) 2022-05-20 16:25:12 +02:00
Renovate Bot
a942d85542 chore(docker): update docker digests to b1c7b16 2022-05-18 13:11:26 +00:00
Renovate Bot
b4c7b3f2d2 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.5 2022-05-12 19:02:22 +00:00
Renovate Bot
d21b4ef7b1 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.4 2022-05-07 11:18:16 +00:00
renovate[bot]
d3147dc3f2
chore(deps): lock file maintenance (#303) 2022-05-06 16:45:03 +02:00
renovate[bot]
8b7797ed1a
fix(deps): update dependency jsonschema to v4.5.1 (#305) 2022-05-06 16:44:03 +02:00
Renovate Bot
5d65ea8dd3 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.3 2022-05-02 23:48:16 +00:00
4dfe569d7c
update to hugo:0.97.3 in ci 2022-05-02 22:07:14 +02:00
e23f3462d8
docs: fix hugo hint shortcode 2022-05-02 21:51:52 +02:00
Renovate Bot
1d3294acee chore(deps): update devdependencies (non-major) 2022-05-02 04:16:01 +00:00
Renovate Bot
88e81b827d chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.2 2022-04-30 14:37:54 +00:00
Renovate Bot
d31a978097 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.1 2022-04-28 13:27:46 +00:00
Renovate Bot
36a55225bc chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.29.0 2022-04-23 17:49:28 +00:00
renovate[bot]
74192442bd
chore(deps): lock file maintenance [security] (#298) 2022-04-23 14:25:39 +02:00
Renovate Bot
91079cf6d5 chore(docker): update docker digests to 032fd45 2022-04-21 01:04:57 +00:00
5228cc6393
chore: adjust yapf dict formatting to avoid line breaks (#289) 2022-04-20 21:03:47 +02:00
Renovate Bot
412a331879 chore(docker): update docker digests to 49d6cf8 2022-04-14 23:00:54 +00:00
Renovate Bot
02b2755cbb chore(docker): update docker digests to 31f39ec 2022-04-14 14:44:14 +00:00
Renovate Bot
334febbfd7 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.28.0 2022-04-11 14:18:47 +00:00
Renovate Bot
24c851d4c4 chore(docker): update docker digests to 3703b9d 2022-04-07 20:50:39 +00:00
Renovate Bot
87eef8597a chore(docker): update docker digests to e619558 2022-04-05 23:33:37 +00:00
Renovate Bot
87221f5268 chore(docker): update docker digests to 0822e90 2022-04-05 15:20:24 +00:00
renovate[bot]
f739352312
fix(deps): update dependency anyconfig to v0.13.0 (#287) 2022-04-04 10:13:00 +02:00
renovate[bot]
55ff80562d
fix(deps): update dependency zipp to v3.8.0 (#288) 2022-04-04 09:04:29 +02:00
renovate[bot]
37c8e003e0
chore(deps): lock file maintenance (#282) 2022-03-31 20:51:41 +02:00
renovate[bot]
5a24e940ae
fix(deps): update dependency websocket_client to v1.3.2 (#284) 2022-03-31 20:51:30 +02:00
Renovate Bot
dfa1a95dda chore(docker): update docker digests to b927a8a 2022-03-30 19:04:28 +00:00
Renovate Bot
25f6f8b7c2 chore(docker): update docker digests to 289e6ba 2022-03-30 00:26:20 +00:00
Renovate Bot
a4df85fd00 chore(docker): update python digest to bbf8cad 2022-03-29 12:36:38 +00:00
Renovate Bot
880a7ffd89 chore(docker): update docker digests to dfdc8ff 2022-03-25 11:19:11 +00:00
Renovate Bot
5dc9ddb32a chore(docker): update docker digests to 87eded0 2022-03-24 12:31:41 +00:00
Renovate Bot
ea7584ddb3 chore(docker): update docker digests to 7393522 2022-03-24 05:52:32 +00:00
Renovate Bot
426c9d976f chore(docker): update python digest to 9b00807 2022-03-23 23:32:08 +00:00
Renovate Bot
ead57f5924 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.27.5 2022-03-21 14:20:44 +00:00
renovate[bot]
bcd3753a3c
chore(deps): lock file maintenance (#270) 2022-03-21 08:52:31 +01:00
renovate[bot]
8a659c33bf
fix(deps): update dependency dateparser to v1.1.1 (#275)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 08:52:19 +01:00
Renovate Bot
1c8e72ca0a chore(deps): update devdependencies (non-major) 2022-03-21 04:36:03 +00:00
Renovate Bot
eb47e30856 chore(docker): update docker digests to 9a1e361 2022-03-18 17:33:37 +00:00
Renovate Bot
9943311515 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.27.4 2022-03-14 13:15:24 +00:00
Renovate Bot
38c3bc2348 chore(deps): update dependency pytest to v7.1.0 2022-03-14 03:11:49 +00:00
Renovate Bot
44d40a45fd chore(docker): update docker digests to bdf7490 2022-03-08 12:35:46 +00:00
Renovate Bot
27d7003039 chore(deps): update dependency bandit to v1.7.4 2022-03-07 03:09:23 +00:00
de4ec94d1f
ci: update hugo to v0.93.2 2022-03-05 16:57:05 +01:00
renovate[bot]
dc17262c54
chore(deps): lock file maintenance (#262) 2022-02-28 09:03:41 +01:00
renovate[bot]
7e2c30fd27
fix(deps): update dependency websocket_client to v1.3.1 (#265) 2022-02-28 09:03:30 +01:00
Renovate Bot
94068ce963 chore(deps): update dependency bandit to v1.7.3 2022-02-28 03:16:56 +00:00
Renovate Bot
4d56b45802 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.27.3 2022-02-26 19:29:08 +00:00
Renovate Bot
4f95cf9de0 chore(docker): update docker digests to 9871be3 2022-02-26 12:57:33 +00:00
Renovate Bot
06a8e3a0bf chore(docker): update docker digests to 1a3046e 2022-02-24 09:43:22 +00:00
Renovate Bot
415ea92069 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.27.2 2022-02-21 11:29:21 +00:00
Renovate Bot
2476fccf42 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.27.1 2022-02-18 23:07:52 +00:00
renovate[bot]
1ca4a29ed4
chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.27.0 (#260) 2022-02-18 12:10:00 +01:00
Renovate Bot
8081f64912 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.26.3 2022-02-15 00:24:09 +00:00
renovate[bot]
db3481778b
chore(deps): lock file maintenance (#253) 2022-02-14 21:34:08 +01:00
renovate[bot]
703460ebeb
fix(deps): update dependency ruamel.yaml to v0.17.21 (#256) 2022-02-14 21:33:09 +01:00
Renovate Bot
4014972c67 chore(docker): update docker digests to c1a3d00 2022-02-14 10:48:47 +00:00
Renovate Bot
a2e5c83b06 chore(deps): update dependency pytest to v7.0.1 2022-02-14 02:53:34 +00:00
Renovate Bot
2fa962da30 chore(deps): update dependency tomli to v2.0.1 2022-02-08 13:57:12 +00:00
Renovate Bot
e0ff861fda chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.26.1 2022-02-07 17:53:10 +00:00
renovate[bot]
7e34443aa8
chore(deps): update dependency pytest to v7 (#251) 2022-02-07 13:47:38 +01:00
8a1e7b3d9d
fix: add toml to dev dependencies as yapf requirement (#252) 2022-02-05 15:01:42 +01:00
Renovate Bot
ca2718eb8e chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.25.2 2022-02-03 15:15:09 +00:00
renovate[bot]
c608f88029
chore(deps): lock file maintenance (#248) 2022-02-01 09:19:36 +01:00
renovate[bot]
9986c7f8a0
fix(deps): update dependency environs to v9.5.0 (#247) 2022-02-01 09:17:22 +01:00
Renovate Bot
1e5cd0a1d0 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.25.1 2022-01-31 22:34:36 +00:00
renovate[bot]
a6e2419686
chore(deps): lock file maintenance (#241) 2022-01-29 13:32:01 +01:00
renovate[bot]
8c58faa9c6
fix(deps): update dependency jsonschema to v4.4.0 (#239) 2022-01-29 13:31:24 +01:00
Renovate Bot
a422994504 chore(deps): update dependency pytest-mock to v3.7.0 2022-01-28 13:14:02 +00:00
Renovate Bot
74f968e350 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.25.0 2022-01-27 23:10:36 +00:00
Renovate Bot
e241b27b1c chore(deps): update dependency bandit to v1.7.2 2022-01-26 03:21:05 +00:00
Renovate Bot
cad3250a28 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.24.1 2022-01-23 23:27:00 +00:00
Renovate Bot
1ebc7e59f9 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.24.0 2022-01-23 16:02:57 +00:00
Renovate Bot
c1d33705bd chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.23.0 2022-01-13 00:36:06 +00:00
renovate[bot]
b2ebd70fdc
chore(deps): lock file maintenance (#238) 2022-01-10 09:09:55 +01:00
renovate[bot]
36b42a48ba
fix(deps): update dependency ruamel.yaml to v0.17.20 (#224) 2022-01-09 22:40:44 +01:00
17ce2e3dd0
chore: add build deps to Dockerfile (#237) 2022-01-09 22:08:26 +01:00
Renovate Bot
3e00615252 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.22.2 2022-01-09 01:53:29 +00:00
Renovate Bot
c2e88a6598 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.22.1 2022-01-08 20:04:40 +00:00
Renovate Bot
3579de4e48 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.22.0 2022-01-08 14:54:03 +00:00
renovate[bot]
12ec9de43c
fix(deps): update dependency zipp to v3.7.0 (#226) 2022-01-08 13:45:32 +01:00
renovate[bot]
f7b9737972
chore(deps): lock file maintenance (#231) 2022-01-08 12:55:25 +01:00
renovate[bot]
d636bd71ac
fix(deps): update dependency requests to v2.27.1 (#229) 2022-01-08 12:55:10 +01:00
renovate[bot]
20460593f4
fix(deps): update dependency environs to v9.4.0 (#230) 2022-01-07 16:18:46 +01:00
renovate[bot]
697ac4564b
chore(docker): update docker digests (#232) 2022-01-07 16:18:39 +01:00
renovate[bot]
0e98b18d64
chore(deps): lock file maintenance (#228) 2022-01-07 14:12:49 +01:00
renovate[bot]
3c906c4183
fix(deps): update dependency jsonschema to v4.3.3 (#227) 2022-01-07 13:54:51 +01:00
Renovate Bot
5401fac46c chore(deps): update dependency yapf to v0.32.0 2021-12-26 09:52:29 +00:00
renovate[bot]
93674694ea
fix(deps): update dependency jsonschema to v4.3.2 (#223) 2021-12-21 16:58:43 +01:00
312bcc3097
chore: fix clean target in makefile 2021-12-21 10:48:14 +01:00
b639d88f5f
sign drone config 2021-12-21 10:24:55 +01:00
48f58efb56
chore: end of the year maintenance 2021-12-21 10:15:41 +01:00
renovate[bot]
ed9a3ebf80
fix(deps): update dependency jsonschema to v4.3.1 (#222) 2021-12-17 09:12:51 +01:00
renovate[bot]
968f608c4f
chore(deps): lock file maintenance (#218) 2021-12-16 12:49:45 +01:00
renovate[bot]
8ccf573757
fix(deps): update dependency jsonschema to v4.3.0 (#221) 2021-12-16 12:48:59 +01:00
renovate[bot]
787aaffbb6
chore(deps): update dependency tomli to v2 (#220) 2021-12-14 09:37:30 +01:00
Renovate Bot
34367d58a9 chore(deps): update dependency tomli to v1.2.3 2021-12-14 03:05:21 +00:00
Renovate Bot
0a3367dfc1 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.21.2 2021-12-12 15:12:55 +00:00
e112187056
chore: adjust changelog template to link to prs instead of issues (#216) 2021-12-12 14:34:11 +01:00
renovate[bot]
bbc0cd4092
chore(deps): lock file maintenance (#214) 2021-12-12 12:21:14 +01:00
renovate[bot]
c8e16750c4
fix(deps): update dependency websocket_client to v1.2.3 (#215) 2021-12-12 12:21:04 +01:00
Renovate Bot
f3308f8855 chore(docker): update docker digests 2021-11-28 14:19:10 +00:00
renovate[bot]
df78993628
chore(deps): lock file maintenance (#211) 2021-11-28 14:07:05 +01:00
Renovate Bot
4a74f12c63 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.21.1 2021-11-24 10:57:14 +00:00
Renovate Bot
6d2642ca76 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.21.0 2021-11-16 10:43:33 +00:00
renovate[bot]
d9e3c138be
chore(deps): lock file maintenance (#208) 2021-11-15 09:39:21 +01:00
renovate[bot]
f062a72777
fix(deps): update dependency environs to v9.3.5 (#209) 2021-11-15 09:38:48 +01:00
Renovate Bot
a750dbebed chore(deps): update dependency bandit to v1.7.1 2021-11-12 14:22:50 +00:00
renovate[bot]
458c1f96b1
fix(deps): update dependency nested-lookup to v0.2.23 (#206) 2021-11-10 09:06:11 +01:00
renovate[bot]
c140cbbd44
chore(deps): lock file maintenance (#204) 2021-11-09 20:15:32 +01:00
renovate[bot]
abc4909688
fix(deps): update dependency jsonschema to v4.2.1 (#202) 2021-11-09 20:15:20 +01:00
Renovate Bot
1d4693805b chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.20.1 2021-11-08 12:36:19 +00:00
Renovate Bot
163e397acd chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.20.0 2021-11-07 23:42:51 +00:00
Renovate Bot
68ae951953 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.19.4 2021-11-03 11:17:46 +00:00
renovate[bot]
87f7e30333
chore(deps): lock file maintenance (#196) 2021-11-03 08:50:47 +01:00
renovate[bot]
47d6f7c9aa
fix(deps): update dependency ruamel.yaml to v0.17.17 (#199) 2021-11-03 08:50:10 +01:00
Renovate Bot
f9d5cba70f chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.19.3 2021-10-30 23:37:13 +00:00
Renovate Bot
0385625cc3 chore(deps): update dependency tomli to v1.2.2 2021-10-25 12:15:14 +00:00
renovate[bot]
87fbc4b01f
fix(deps): update dependency jsonschema to v4.1.2 (#194) 2021-10-20 21:45:51 +02:00
renovate[bot]
5487837447
chore(deps): update dependency flake8 to v4 (#190) 2021-10-20 17:02:08 +02:00
Renovate Bot
8a30b7d4fd chore(deps): update devdependencies (non-major) 2021-10-20 09:56:48 +00:00
Renovate Bot
c8d4ffdc81 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.19.2 2021-10-15 12:11:13 +00:00
renovate[bot]
b33875e9eb
fix(deps): update dependency idna to v3.3 (#191)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-15 12:03:50 +02:00
Renovate Bot
590d07dcb5 chore(deps): update dependency flake8-isort to v4.1.1 2021-10-14 14:47:04 +00:00
renovate[bot]
f0582e7bee
chore(deps): lock file maintenance (#189)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-11 09:34:00 +02:00
renovate[bot]
e49741bcc5
fix(deps): update dependency jsonschema to v4.1.0 (#188) 2021-10-10 22:07:43 +02:00
renovate[bot]
f2057c954f
fix(deps): update dependency certifi to v2021.10.8 (#187)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-09 12:59:06 +02:00
renovate[bot]
4442ecbd8e
fix(deps): update dependency docker to v5.0.3 (#186)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-08 09:07:29 +02:00
1cc28b7708
fix: fix format string of the json logger (#185) 2021-10-07 22:59:54 +02:00
74558f86e9
feat: add python3.10 support (#184) 2021-10-07 09:52:57 +02:00
Renovate Bot
c3073c096a chore(docker): update python:3.10-alpine docker digest to c13a6cf 2021-10-07 07:09:51 +00:00
renovate[bot]
1be0bd582f
chore(deps): update arm64v8/python docker tag to v3.10 (#180)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-06 20:46:26 +02:00
renovate[bot]
ca707418f8
chore(deps): update arm32v7/python docker tag to v3.10 (#182)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-06 20:45:57 +02:00
renovate[bot]
ab19dad2c5
chore(deps): update python docker tag to v3.10 (#181)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-06 20:45:34 +02:00
Renovate Bot
60b9ab7bfa chore(docker): update docker digests 2021-10-05 08:37:26 +00:00
renovate[bot]
ac96a56aa3
fix(deps): update dependency dateparser to v1.1.0 (#178)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-04 19:49:28 +02:00
renovate[bot]
b6567986ed
chore(deps): update dependency pytest-cov to v3 (#177)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-04 19:25:18 +02:00
renovate[bot]
78e1852fc8
fix(deps): update dependency environs to v9.3.4 (#176) 2021-10-04 16:52:13 +02:00
renovate[bot]
784684789f
fix(deps): update dependency jsonschema to v4 (#173)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-03 17:41:11 +02:00
renovate[bot]
b342252c8e
fix(deps): update dependency zipp to v3.6.0 (#171)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-03 17:10:47 +02:00
d93e65a52c
BREAKING CHANGE: drop Python 3.6 support (#175) 2021-10-03 16:10:36 +02:00
Renovate Bot
2a55b2e53c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.19.1 2021-10-01 11:07:42 +00:00
Renovate Bot
298249075d chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.19.0 2021-09-28 20:04:49 +00:00
renovate[bot]
2810d43592
chore(deps): lock file maintenance (#170)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-27 09:03:27 +02:00
72b17073d1
improve changelog template 2021-09-22 11:50:43 +02:00
52cb1d718d
improve drone-matrix template 2021-09-22 09:31:13 +02:00
renovate[bot]
338897aa61
chore(deps): lock file maintenance (#165)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-20 09:54:22 +02:00
renovate[bot]
d6410a15b6
fix(deps): update dependency anyconfig to v0.12.0 (#168)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-20 09:53:05 +02:00
ee69b01e3a
ci: switch to drone-matrix plugin (#169) 2021-09-19 22:09:49 +02:00
468d6001f1
regenerate drone config 2021-09-13 10:53:46 +02:00
Renovate Bot
cf779588cf chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.18.3 2021-09-08 23:20:05 +00:00
Renovate Bot
c17e34618b chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.18.2 2021-09-06 11:29:03 +00:00
Renovate Bot
0eb92fe138 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.18.1 2021-09-02 17:40:37 +00:00
renovate[bot]
b43ceb8ea9
fix(deps): update dependency docker to v5.0.2 (#163)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-09-02 17:21:38 +02:00
Renovate Bot
e0c56926ec chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.18.0 2021-09-01 12:16:21 +00:00
renovate[bot]
e888cbbd68
fix(deps): update dependency docker to v5.0.1 (#161)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-31 19:57:51 +02:00
renovate[bot]
1dbbcd4a33
fix(deps): update dependency anyconfig to v0.11.1 (#158)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-31 15:25:20 +02:00
renovate[bot]
4b3aa29a36
chore(deps): lock file maintenance (#159)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-31 14:32:38 +02:00
renovate[bot]
3bcc6bd49f
fix(deps): update dependency ruamel.yaml to v0.17.16 (#157)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-31 14:32:15 +02:00
Renovate Bot
96c8dae494 chore(deps): update dependency pytest to v6.2.5 2021-08-30 18:57:54 +00:00
Renovate Bot
00fbc9afbe chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.17.3 2021-08-24 18:17:12 +00:00
Renovate Bot
70dff0c546 chore(docker): update docker digests 2021-08-24 10:59:21 +00:00
Renovate Bot
d540e3a776 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.17.2 2021-08-23 20:32:13 +00:00
renovate[bot]
4812604f51
chore(deps): lock file maintenance (#151)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-23 21:06:09 +02:00
renovate[bot]
8fa8f41681
fix(deps): update dependency ruamel.yaml to v0.17.13 (#152)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-23 21:05:58 +02:00
Renovate Bot
56c53c5463 chore(deps): update dependency flake8-quotes to v3.3.0 2021-08-23 09:32:46 +00:00
Renovate Bot
3085572825 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.17.1 2021-08-15 13:56:33 +00:00
renovate[bot]
028dd1ce1f
fix(deps): update dependency websocket_client to v1.2.1 (#149)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-15 13:37:06 +02:00
Renovate Bot
861483d523 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.17.0 2021-08-12 20:34:41 +00:00
renovate[bot]
0b1838ac67
fix(deps): update dependency websocket_client to v1.2.0 (#147)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-11 20:42:49 +02:00
renovate[bot]
17a2b2a086
chore(deps): lock file maintenance (#141)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-09 11:32:07 +02:00
renovate[bot]
ee99a6bf68
fix(deps): update dependency websocket_client to v1.1.1 (#144)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-09 11:31:55 +02:00
renovate[bot]
d774fde984
fix(deps): update dependency environs to v9.3.3 (#146)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-09 11:07:00 +02:00
Renovate Bot
0eaf1b7cd1 chore(deps): update dependency pep8-naming to v0.12.1 2021-08-08 04:15:30 +00:00
Renovate Bot
b0b7ae6341 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.16.6 2021-08-05 20:58:28 +00:00
Renovate Bot
84108dcd43 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.16.5 2021-08-02 15:58:37 +00:00
Renovate Bot
21bae2c915 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.16.4 2021-08-01 00:37:30 +00:00
Renovate Bot
a7dbd0d84b chore(deps): update python:3.9-alpine docker digest 2021-08-01 00:02:59 +00:00
Renovate Bot
9741f26357 chore(deps): update docker digests 2021-07-31 22:28:18 +00:00
Renovate Bot
7a4283a8d0 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.16.3 2021-07-29 10:57:36 +00:00
renovate[bot]
27f82a521f
chore(deps): lock file maintenance (#135)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-29 10:10:18 +02:00
renovate[bot]
9e2f2bd2b4
fix(deps): update dependency python-json-logger to v2.0.2 (#136)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-29 10:09:47 +02:00
Renovate Bot
4d421d3244 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.16.2 2021-07-22 12:10:48 +00:00
Renovate Bot
ae3d4140be chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.16.1 2021-07-20 11:56:41 +00:00
renovate[bot]
45e6195fc0
chore(deps): lock file maintenance (#132)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-19 14:45:48 +02:00
renovate[bot]
3fa119fa7e
fix(deps): update dependency pathspec to v0.9.0 (#131)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-19 14:45:19 +02:00
renovate[bot]
b813ff128c
chore(deps): lock file maintenance (#126)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-15 09:45:59 +02:00
renovate[bot]
11197bd0b0
fix(deps): update dependency idna to v3 (#130)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-15 09:45:41 +02:00
renovate[bot]
4fdb76e608
fix(deps): update dependency python-dateutil to v2.8.2 (#128)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-15 09:02:45 +02:00
Renovate Bot
9980523e26 chore(deps): update docker digests 2021-07-14 22:39:35 +00:00
renovate[bot]
d31a64340f
fix(deps): update dependency requests to v2.26.0 (#127)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-14 23:15:26 +02:00
Renovate Bot
a2b0bb56d0 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.15.0 2021-07-10 12:50:21 +00:00
Renovate Bot
38e2b3abec chore(deps): update dependency pep8-naming to v0.12.0 2021-07-07 13:02:20 +00:00
Renovate Bot
a2be25723f chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.14.1 2021-07-05 08:27:35 +00:00
renovate[bot]
e3c3606a0d
chore(deps): lock file maintenance (#122)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-05 08:43:49 +02:00
renovate[bot]
3dd6810267
fix(deps): update dependency zipp to v3.5.0 (#121)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-05 08:43:40 +02:00
Renovate Bot
ddff3f002c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.14.0 2021-07-01 09:51:23 +00:00
renovate[bot]
0746d2ad34
fix(deps): update dependency ruamel.yaml to v0.17.10 (#117)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 22:02:22 +02:00
78e04e2cce
chore: replace libressl-dev by openssl-dev (#119) 2021-06-30 09:01:30 +02:00
renovate[bot]
3455928c6e
chore(deps): lock file maintenance (#118)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-28 08:45:06 +02:00
Renovate Bot
ece15bae94 chore(deps): update dependency flake8-eradicate to v1.1.0 2021-06-22 12:31:22 +00:00
renovate[bot]
5dc2bc3c79
chore(deps): lock file maintenance (#115)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-21 09:19:14 +02:00
renovate[bot]
6fb4a2e64f
fix(deps): update dependency ruamel.yaml to v0.17.9 (#112)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 22:16:45 +02:00
renovate[bot]
75b5424576
fix(deps): update dependency websocket_client to v1.1.0 (#113)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 21:53:34 +02:00
Renovate Bot
c4651f36be chore(deps): update docker digests 2021-06-16 22:09:30 +00:00
1aed72f85a
chore: disable rule D105 in flake 2021-06-09 20:58:35 +02:00
renovate[bot]
3d72e9fe5b
fix(deps): update dependency ruamel.yaml to v0.17.7 (#108)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-07 09:22:26 +02:00
renovate[bot]
4361327ac4
chore(deps): lock file maintenance (#111)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-07 09:22:16 +02:00
Renovate Bot
50f3bb8776 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.13.5 2021-06-02 23:36:05 +00:00
Renovate Bot
15128ba869 chore(deps): update dependency pytest-cov to v2.12.1 2021-06-01 19:52:33 +00:00
renovate[bot]
7d0a6a32e2
fix(deps): update dependency ruamel.yaml to v0.17.6 (#107)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-31 11:45:30 +02:00
renovate[bot]
7061b2ac79
fix(deps): update dependency websocket_client to v1.0.1 (#99)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-31 11:18:18 +02:00
renovate[bot]
3e94bd66fe
fix(deps): update dependency certifi to v2021 (#105)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-31 10:22:48 +02:00
renovate[bot]
6cfa23426d
chore(deps): lock file maintenance (#106)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-31 10:22:31 +02:00
renovate[bot]
b9b46ada9b
fix(deps): update dependency ruamel.yaml to v0.17.5 (#104)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-30 11:59:36 +02:00
Renovate Bot
fe0a458749 chore(deps): update arm64v8/python:3.9-alpine docker digest 2021-05-28 11:54:47 +00:00
Renovate Bot
85e48be04b chore(deps): update arm32v7/python:3.9-alpine docker digest 2021-05-26 17:13:52 +00:00
0b29152b59
[skip ci] fix github settings syntax 2021-05-25 18:01:03 +02:00
Renovate Bot
d00097de7f chore(deps): update amd64/python:3.9-alpine docker digest 2021-05-24 22:02:22 +00:00
Renovate Bot
677ad4d6ce chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.13.4 2021-05-22 14:20:29 +00:00
Renovate Bot
b23d60fffd chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.13.3 2021-05-19 22:33:23 +00:00
Renovate Bot
3112f87b31 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.13.2 2021-05-19 00:51:50 +00:00
renovate[bot]
4aa8b4230c
fix(deps): update dependency websocket_client to v1 (#96)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-18 09:08:51 +02:00
Renovate Bot
d0f0f2b9a5 chore(deps): update dependency pydocstyle to v6.1.1 2021-05-17 23:25:38 +00:00
Renovate Bot
aa48d06c9e chore(deps): update dependency pydocstyle to v6.1.0 2021-05-17 19:59:56 +00:00
renovate[bot]
8ded4656f2
fix(deps): update dependency anyconfig to v0.11.0 (#82)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-17 09:45:20 +02:00
renovate[bot]
e1d2fdff6b
chore(deps): lock file maintenance (#93)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-17 09:02:58 +02:00
Renovate Bot
65c356ff13 chore(deps): update dependency pytest-cov to v2.12.0 2021-05-14 13:14:49 +00:00
Renovate Bot
f5c330e7f2 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.13.1 2021-05-13 15:46:35 +00:00
renovate[bot]
799be02f5a
chore(deps): lock file maintenance (#80)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-11 09:05:01 +02:00
renovate[bot]
3d46a01858
chore(deps): update devdependencies (non-major) (#90)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-11 00:23:18 +02:00
ab346e3780
fix(deps): update dependencies 2021-05-10 23:42:58 +02:00
renovate[bot]
a3b192d508
fix(deps): update dependency nested-lookup to v0.2.22 (#83)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-10 23:31:22 +02:00
3e5fbab7bf
chore: pin package versions (#81) 2021-05-10 22:14:29 +02:00
155edc321c
chore: improve generated changelog (#79) 2021-05-09 22:09:31 +02:00
Renovate Bot
676d4afeef chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.13.0 2021-05-09 17:10:00 +00:00
renovate[bot]
721e3f10e5
fix(deps): update dependency websocket_client to ^0.59.0 (#77)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-08 13:09:26 +02:00
82d363a68c
switch to own hugo ci image 2021-05-06 22:56:08 +02:00
bb55fb0a9e
docs: use Hugo 0.83.1 to build docs 2021-05-06 21:52:42 +02:00
Renovate Bot
dfcee5b002 chore(deps): update docker digests 2021-05-04 21:29:05 +00:00
Renovate Bot
43c77f5cd6 chore(deps): update docker digests 2021-05-04 01:04:13 +00:00
Renovate Bot
02f8016bed chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.12.0 2021-04-28 12:48:45 +00:00
Renovate Bot
a3ef567ab5 chore(deps): update docker digests 2021-04-28 02:48:28 +00:00
Renovate Bot
f7255a0f08 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.11.1 2021-04-23 12:36:31 +00:00
Renovate Bot
fe920755db chore(deps): update docker digests 2021-04-15 10:53:44 +00:00
d9d4c5fa93
chore: remove dev dependency flake8-colors (#69) 2021-04-12 09:50:04 +02:00
Renovate Bot
25a408109c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.11.0 2021-04-11 15:50:42 +00:00
renovate[bot]
3c612f9579
fix(deps): update dependency docker to v5 (#67)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-09 09:26:19 +02:00
Renovate Bot
61942a625d chore(deps): update arm64v8/python:3.9-alpine docker digest to 0a685ca 2021-04-05 23:51:47 +00:00
Renovate Bot
57a34f93db chore(deps): update docker digests 2021-04-05 21:26:47 +00:00
Renovate Bot
80305d9e1d chore(deps): update docker digests 2021-04-03 06:49:30 +00:00
Renovate Bot
8152efc19f chore(deps): update docker digests 2021-04-01 12:07:22 +00:00
Renovate Bot
a16d53308a chore(deps): update arm32v7/python:3.9-alpine docker digest to 530660a 2021-04-01 09:53:00 +00:00
renovate[bot]
7f80dcca26
fix(deps): update dependency ruamel.yaml to ^0.17.0 (#61)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-27 13:47:37 +01:00
Renovate Bot
39cce08604 chore(deps): update docker digests 2021-03-26 15:11:05 +00:00
renovate[bot]
d0505098b2
chore(deps): update arm32v7/python:3.9-alpine docker digest to 7c62c7f (#59)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-26 09:30:52 +01:00
0cf300c15d
ci: auto-generate changelog (#58)
* ci: auto-generate changelog

* ci: auto-generate changelog

* ci: auto-generate changelog
2021-03-23 21:09:23 +01:00
renovate[bot]
7db60fc65c
chore(deps): update dependency pydocstyle to v6 (#57)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-20 16:00:49 +01:00
Renovate Bot
c58c6e181e chore(deps): update dependency yapf to ^0.31.0 2021-03-13 05:50:29 +00:00
Renovate Bot
5feac65f1b chore(deps): update amd64/python:3.9-alpine docker digest to d73b7b4 2021-03-13 03:09:52 +00:00
Renovate Bot
ecaa563e34 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.10.1 2021-03-06 14:05:13 +00:00
b381f0e6fb
docs: fix icons in more menu 2021-03-05 09:44:37 +01:00
Renovate Bot
57286fb2ad chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.10.0 2021-03-04 23:52:50 +00:00
a0d14c5861
ci: auto-generate changelog (#52) 2021-03-03 20:49:56 +01:00
renovate[bot]
9a22dc9ffe
fix(deps): update dependency websocket_client to ^0.58.0 (#51)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-03 20:21:18 +01:00
Renovate Bot
97d9d7dcde chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.9.5 2021-02-24 23:36:20 +00:00
Renovate Bot
3d58e8bd70 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.9.4 2021-02-23 11:27:48 +00:00
Renovate Bot
587847a6df chore(deps): update docker digests 2021-02-23 04:29:10 +00:00
Renovate Bot
4958db334c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.9.3 2021-02-22 01:06:21 +00:00
Renovate Bot
b1b7d46764 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.9.1 2021-02-21 16:15:46 +00:00
Renovate Bot
e9f1a25ee6 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.9.0 2021-02-21 01:27:36 +00:00
Renovate Bot
c66cc55b2c chore(deps): update arm64v8/python:3.9-alpine docker digest to ef2edd3 2021-02-20 00:55:55 +00:00
Renovate Bot
7c3eb2667a chore(deps): update arm32v7/python:3.9-alpine docker digest to 31710c3 2021-02-19 23:15:42 +00:00
Renovate Bot
a42e9cc6bc chore(deps): update amd64/python:3.9-alpine docker digest to 4f7234d 2021-02-19 22:23:17 +00:00
4f42266489
ci: optimize build process and dependencies (#41) 2021-02-19 09:47:24 +01:00
renovate[bot]
14c961f8db
chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.8.6 (#36)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 12:27:35 +01:00
renovate[bot]
90f8a45b93
chore(deps): update arm32v7/python:3.9-alpine docker digest to 9710cc5 (#37)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 12:27:26 +01:00
renovate[bot]
c39a0e7e1c
chore(deps): update arm64v8/python:3.9-alpine docker digest to a6b4680 (#38)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 12:27:16 +01:00
3a2ace8047
ci: increase log level for poetry install steps 2021-02-18 11:18:30 +01:00
3aaf86bc9c
[skip ci] disable github strict status check 2021-02-18 11:13:11 +01:00
renovate[bot]
e4fd390e0c
chore(deps): update amd64/python:3.9-alpine docker digest to 5d02ad3 (#39)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-18 11:02:01 +01:00
30f3f35b39
fix: add missing build dependencies for cryptography (#40) 2021-02-18 10:09:57 +01:00
Renovate Bot
93e171f4eb chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.8.5 2021-02-07 16:03:50 +00:00
Renovate Bot
a32a74bc5c chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.8.4 2021-02-04 20:28:39 +00:00
Renovate Bot
29d2e289eb chore(deps): update arm32v7/python:3.9-alpine docker digest to 13b3d3a 2021-02-04 10:44:13 +00:00
Renovate Bot
78b1566748 chore(deps): update arm64v8/python:3.9-alpine docker digest to d67bb89 2021-02-04 08:08:48 +00:00
Renovate Bot
ae46a90ad8 chore(deps): update amd64/python:3.9-alpine docker digest to 5beb482 2021-02-04 07:15:52 +00:00
Renovate Bot
84d3c1fa12 chore(deps): update amd64/python:3.9-alpine docker digest to a9bcc1e 2021-02-02 04:45:11 +00:00
Renovate Bot
cfb3ed1946 chore(deps): update arm64v8/python:3.9-alpine docker digest to ee35539 2021-02-02 02:08:05 +00:00
Renovate Bot
e7a18c0839 chore(deps): update arm32v7/python:3.9-alpine docker digest to f0b596e 2021-02-02 01:11:23 +00:00
Renovate Bot
3eeaceab27 chore(deps): update arm64v8/python:3.9-alpine docker digest to 3ca1998 2021-01-26 03:47:04 +00:00
Renovate Bot
c21178e493 chore(deps): update arm32v7/python:3.9-alpine docker digest to 90a2442 2021-01-26 02:39:20 +00:00
Renovate Bot
e122644c40 chore(deps): update amd64/python:3.9-alpine docker digest to cc482de 2021-01-26 01:36:10 +00:00
Renovate Bot
4ef935f7a4 chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.8.3 2021-01-24 15:45:18 +00:00
1698aa9579
switch to custom drone docker plugin 2021-01-17 20:04:05 +01:00
a3fd3e62cd
fix ci badge 2021-01-17 15:23:47 +01:00
79c7c3f7cc
fix ci badge 2021-01-17 15:10:33 +01:00
08926fe00b
remove unnecessary docker_config secret from drone config 2021-01-16 15:45:38 +01:00
89f1ecda41
re-sign drone config 2021-01-16 15:21:39 +01:00
Renovate Bot
a74c2ba157 chore(deps): update dependency flake8-blind-except to ^0.2.0 2021-01-07 22:30:07 +00:00
renovate[bot]
f82cd857eb
chore(deps): update dependency thegeeklab/hugo-geekdoc to v0.8.2 (#21)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 17:52:22 +01:00
2d8cceebfa
chore(devel): add codecov config file 2021-01-06 17:33:04 +01:00
0602249058
use hugo 0.80 in ci 2021-01-03 22:05:31 +01:00
a41ad54a02
use pre-build docker image for markdownlint 2021-01-03 21:58:12 +01:00
91852a666d
[skip ci] exclude .venv folder from isort 2021-01-03 21:43:56 +01:00
951a138348
[skip ci] update year in license file 2021-01-03 21:40:25 +01:00
renovate[bot]
29b0098d8f
fix(deps): update dependency anyconfig to ^0.10.0 (#20)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-03 16:16:42 +01:00
24e39a7088
use find syntax to install wheel 2021-01-03 15:36:26 +01:00
4a6e468e1f
refactor: rename modules to reflect pep8 recommendations (#19) 2021-01-03 15:36:04 +01:00
ab5823c8c9
chore(devel): merge flake8 and yapf config into setup.cfg 2021-01-03 15:08:05 +01:00
a16501e064
fix typo in description 2020-12-31 13:53:48 +01:00
61dd211ed8
add yapf diff check to ci 2020-12-30 15:42:34 +01:00
1d4200548c
docs: rename master branch references to main 2020-12-30 15:07:00 +01:00
7402c21c0f
chore: replace master by main as default branch 2020-12-30 15:02:23 +01:00
86832d640f
[skip ci] cleanup python version in ci config 2020-12-28 18:09:40 +01:00
9b93219c60
build(devel): cleanup dev-dependencies 2020-12-28 18:02:57 +01:00
49fcc0ab28
fix ci test pipeline dependency 2020-12-28 17:43:33 +01:00
13ffd3450c
fix pypi publishing 2020-12-28 15:05:49 +01:00
9a3e1366c8
[skip ci] update changelog 2020-12-28 14:47:28 +01:00
0b4087307c
[skip ci] update changelog 2020-12-28 14:31:45 +01:00
Renovate Bot
adf15e5b27 chore(deps): pin docker digests 2020-12-27 20:04:37 +00:00
66970be201
switch back to python 3.9 docker base image 2020-12-27 20:03:57 +01:00
fab4490e01
[skip ci] debug 2020-12-27 15:58:42 +01:00
e7be2ee92b
debug 2020-12-27 15:54:34 +01:00
64b84fcabb
[skip ci] debig 2020-12-27 15:53:47 +01:00
e546d4e6a2
[skip ci] update changelog 2020-12-27 15:14:22 +01:00
a78300cc3b
chore(docker): use standalone dockerfiles for multiarch 2020-12-26 18:04:08 +01:00
bc7cddb9cc
docs: add contributing information 2020-12-26 16:56:06 +01:00
adba4e9e67
use renovate preset config 2020-12-26 16:08:46 +01:00
8b34876434
[skip ci] disable merge commits 2020-12-25 16:57:31 +01:00
87598c0ad5
disable merge commits 2020-12-25 16:54:35 +01:00
c6dc395239
switch to org.opencontainers docker image labels 2020-12-25 16:31:37 +01:00
20773cbb24
fetch git tags before poetry commands 2020-12-24 00:33:18 +01:00
97c8e5180c
fetch git tags before poetry commands 2020-12-24 00:23:12 +01:00
a194d90ffe
use multiarch alpine git image 2020-12-23 23:54:58 +01:00
65e3d0f979
fetch git tags on each pipeline 2020-12-23 23:53:07 +01:00
979b4f17e5
fetch git tags on each pipeline 2020-12-23 23:48:56 +01:00
795c3ae863
debug versioning 2020-12-23 23:33:34 +01:00
1c49bdf679
Merge pull request #12 from thegeeklab/renovate/thegeeklab-hugo-geekdoc-0.x
Update dependency thegeeklab/hugo-geekdoc to v0.8.1
2020-12-23 22:40:11 +01:00
Renovate Bot
794da9af41
Update dependency thegeeklab/hugo-geekdoc to v0.8.1 2020-12-23 16:14:22 +00:00
f1bbc5556a
[skip ci] update changelog 2020-12-15 14:40:47 +01:00
9915eea45d
Merge pull request #11 from thegeeklab/update-deps
update package deoendencies
2020-12-15 14:37:17 +01:00
6e00398663
fix test for changed APIError message 2020-12-15 14:28:11 +01:00
b8340cbb59
update package dependencies 2020-12-15 14:27:59 +01:00
a2a8d85ac0
Merge pull request #9 from thegeeklab/renovate/thegeeklab-hugo-geekdoc-0.x
Update dependency thegeeklab/hugo-geekdoc to v0.7.3
2020-12-02 22:09:43 +01:00
Renovate Bot
ade109cef1
Update dependency thegeeklab/hugo-geekdoc to v0.7.3 2020-12-02 15:52:56 +00:00
34cdb42819
Merge pull request #8 from thegeeklab/renovate/thegeeklab-hugo-geekdoc-0.x
Update dependency thegeeklab/hugo-geekdoc to v0.7.2
2020-11-28 22:36:52 +01:00
Renovate Bot
acd779dbb8
Update dependency thegeeklab/hugo-geekdoc to v0.7.2 2020-11-28 15:41:57 +00:00
d74d273a3d
add dockerhub auth for ci 2020-11-27 14:13:11 +01:00
00f20c2814
Merge pull request #7 from thegeeklab/renovate/thegeeklab-hugo-geekdoc-0.x
Update dependency thegeeklab/hugo-geekdoc to v0.7.1
2020-11-27 09:29:53 +01:00
Renovate Bot
41859ec4d9
Update dependency thegeeklab/hugo-geekdoc to v0.7.1 2020-11-26 22:48:29 +00:00
8c32503e07
Merge pull request #6 from thegeeklab/renovate/thegeeklab-hugo-geekdoc-0.x
Update dependency thegeeklab/hugo-geekdoc to v0.7.0
2020-11-22 22:51:14 +01:00
Renovate Bot
bf25fd35ac
Update dependency thegeeklab/hugo-geekdoc to v0.7.0 2020-11-22 20:07:14 +00:00
0b48ad5685
Merge pull request #5 from thegeeklab/renovate/docker-python-3.x
Update python Docker tag to v3.9
2020-11-17 15:10:57 +01:00
Renovate Bot
44d1033ddc
Update python Docker tag to v3.9 2020-11-17 13:42:11 +00:00
63b6c70612
Merge pull request #4 from thegeeklab/renovate/thegeeklab-hugo-geekdoc-0.x
Update dependency thegeeklab/hugo-geekdoc to v0.6.0
2020-11-17 14:41:56 +01:00
Renovate Bot
6b9c97b1ea
Update dependency thegeeklab/hugo-geekdoc to v0.6.0 2020-11-17 13:11:41 +00:00
97ca253a01
Merge pull request #2 from thegeeklab/renovate/configure
Configure Renovate
2020-11-17 14:11:30 +01:00
b59abec139
setup renovate 2020-11-17 14:01:42 +01:00
ebbc781ce7
Merge branch 'master' into renovate/configure 2020-11-16 01:18:11 +01:00
cd5bb8cac2
drop python3.5 support 2020-11-16 01:02:32 +01:00
44814e1e04
Merge branch 'master' into renovate/configure 2020-11-15 23:50:30 +01:00
17938a75e9
Merge pull request #3 from thegeeklab/poetry
Poetry
2020-11-15 22:44:38 +01:00
aa20e4cc0d
fix pytest-cov settings 2020-11-15 22:34:34 +01:00
044027313f
fix poetry commands in ci pipelines 2020-11-15 22:06:32 +01:00
d8566bec2f
fix pipeline dependencies 2020-11-15 21:55:08 +01:00
c34d12ab98
adjust ci to use poetry 2020-11-15 21:52:35 +01:00
8f9d40a31e
switch to poetry 2020-11-15 20:51:26 +01:00
Renovate Bot
db77be4eb3
Add renovate.json 2020-11-11 20:03:07 +00:00
1d1d45d5e0
fix refs to migrated repos 2020-09-27 22:56:06 +02:00
74028241c3
add back short description for quay.io 2020-09-27 14:21:23 +02:00
24358866b2
fix license 2020-09-27 14:13:22 +02:00
bd3328a587
fix license 2020-09-27 14:10:35 +02:00
6493829c1f
fix dockerhub short description 2020-09-27 14:06:35 +02:00
e5264247c0
[skip ci] update changelog 2020-09-27 13:54:16 +02:00
d9cf928284
fix drone deps 2020-09-25 20:06:15 +02:00
7c26f6541c
fix dockerfile path 2020-09-25 19:55:14 +02:00
00b27a9306
migrate to thegeeklab namespace 2020-09-25 19:48:40 +02:00
fbd742f48f
update to Hugo v0.74.3 2020-08-01 20:33:34 +02:00
aef5294fbe
fix privacy policy and legal notice 2020-07-21 23:46:10 +02:00
450e111e18
disable spellchecker for 'highlight' shortcodes 2020-06-07 16:54:30 +02:00
04d9b929fd append coverage 2020-06-03 22:51:05 +02:00
8dde72604a update dependencies 2020-06-03 22:49:58 +02:00
f1fa099317 add docs validation to ci 2020-06-03 22:40:20 +02:00
f778634870 remove pipenv check (broken) 2020-05-26 21:43:05 +02:00
8903962395 publish to s3 2020-05-26 21:38:16 +02:00
9a1415211c [SKIP CI] prepare release 2020-04-11 17:29:35 +02:00
2fa9280aa6 fix linting 2020-04-11 14:50:11 +02:00
1052c8b2ed add flake8-pep3101 2020-04-11 14:14:41 +02:00
f2440c366c
Merge pull request #1 from xoxys/cleanup
rename test folder and cleanup packaging
2020-04-11 13:54:53 +02:00
a23dcef4a4 cleanup dockerfile 2020-04-11 13:38:20 +02:00
a32aa7f66e fix python markers 2020-04-11 12:55:17 +02:00
ab6f158c53 temp disable pipenv check 2020-04-11 12:43:55 +02:00
c8108dc946 fix codecov dependencies 2020-04-11 12:15:19 +02:00
d457134237 generate drone config 2020-04-11 12:15:16 +02:00
9cc3bfbdb7 merge verify and testing pipeline steps 2020-04-11 12:15:12 +02:00
b3c6f266e2 cleanup coverage output 2020-04-11 12:15:08 +02:00
62fcea1b2d switch to python 3.8 for all pipeline steps 2020-04-11 12:15:04 +02:00
3b23b3cc50 exclude test folder from linting 2020-04-11 12:14:59 +02:00
87dce9b579 rename test folder and cleanup packaging 2020-04-11 12:14:42 +02:00
99497680a0 fix local wheel install 2020-03-22 19:09:11 +01:00
385efc632c fix _format_exclude_labels test 2020-03-22 18:08:53 +01:00
36dff6e454 fix typo 2020-03-22 18:01:18 +01:00
50fa054709 fix formatting of exclude_container_labels 2020-03-22 17:49:48 +01:00
e3a26d0874 fix exception type while validating env vars 2020-03-22 17:20:24 +01:00
57 changed files with 2252 additions and 2552 deletions

10
.dictionary Normal file
View File

@ -0,0 +1,10 @@
CLI
Codecov
Kaussow
PyPI
YAML
xoxys
SELinux
dateparser
Autostop
entrypoint

View File

@ -1,427 +0,0 @@
local PythonVersion(pyversion='3.5') = {
name: 'python' + std.strReplace(pyversion, '.', '') + '-pytest',
image: 'python:' + pyversion,
environment: {
PY_COLORS: 1,
SETUPTOOLS_SCM_PRETEND_VERSION: '${DRONE_TAG##v}',
},
commands: [
'pip install -qq .',
'docker-tidy --help',
'docker-tidy --version',
],
depends_on: [
'clone',
],
};
local PipelineLint = {
kind: 'pipeline',
name: 'lint',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'flake8',
image: 'python:3.7',
environment: {
PY_COLORS: 1,
},
commands: [
'pip install pipenv -qq',
'pipenv --bare install --dev --keep-outdated',
'pipenv run flake8 ./dockertidy',
],
},
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineDeps = {
kind: 'pipeline',
name: 'dependencies',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'pipenv',
image: 'python:3.7',
environment: {
PY_COLORS: 1,
},
commands: [
'pip install pipenv -qq',
'pipenv --bare install --keep-outdated',
'pipenv check -i 37752',
'pipenv --bare install --dev --keep-outdated',
'pipenv run pipenv-setup check',
],
},
],
depends_on: [
'lint',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineTest = {
kind: 'pipeline',
name: 'test',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'pytest',
image: 'python:3.8',
environment: {
PY_COLORS: 1,
},
commands: [
'pip install pipenv -qq',
'pipenv --bare install --dev --keep-outdated',
'pipenv run pytest dockertidy/tests/ --cov=dockertidy/ --no-cov-on-fail',
],
},
{
name: 'codecov',
image: 'python:3.8',
environment: {
PY_COLORS: 1,
CODECOV_TOKEN: { from_secret: 'codecov_token' },
},
commands: [
'pip install codecov',
'codecov --required',
],
},
],
depends_on: [
'dependencies',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineVerify = {
kind: 'pipeline',
name: 'verify',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
PythonVersion(pyversion='3.5'),
PythonVersion(pyversion='3.6'),
PythonVersion(pyversion='3.7'),
PythonVersion(pyversion='3.8'),
],
depends_on: [
'test',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineSecurity = {
kind: 'pipeline',
name: 'security',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'bandit',
image: 'python:3.7',
environment: {
PY_COLORS: 1,
},
commands: [
'pip install pipenv -qq',
'pipenv --bare install --dev --keep-outdated',
'pipenv run bandit -r ./dockertidy -x ./dockertidy/tests',
],
},
],
depends_on: [
'verify',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineBuildPackage = {
kind: 'pipeline',
name: 'build-package',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
name: 'build',
image: 'python:3.7',
environment: {
SETUPTOOLS_SCM_PRETEND_VERSION: '${DRONE_TAG##v}',
},
commands: [
'python setup.py sdist bdist_wheel',
],
},
{
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: 'plugins/pypi',
settings: {
username: { from_secret: 'pypi_username' },
password: { from_secret: 'pypi_password' },
repository: 'https://upload.pypi.org/legacy/',
skip_build: true,
},
when: {
ref: ['refs/tags/**'],
},
},
],
depends_on: [
'security',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineBuildContainer(arch='amd64') = {
kind: 'pipeline',
name: 'build-container-' + arch,
platform: {
os: 'linux',
arch: arch,
},
steps: [
{
name: 'build',
image: 'python:3.7',
commands: [
'python setup.py bdist_wheel',
],
environment: {
SETUPTOOLS_SCM_PRETEND_VERSION: '${DRONE_TAG##v}',
},
},
{
name: 'dryrun',
image: 'plugins/docker:18-linux-' + arch,
settings: {
dry_run: true,
dockerfile: 'Dockerfile',
repo: 'xoxys/${DRONE_REPO_NAME}',
username: { from_secret: 'docker_username' },
password: { from_secret: 'docker_password' },
},
when: {
ref: ['refs/pull/**'],
},
},
{
name: 'publish',
image: 'plugins/docker:18-linux-' + arch,
settings: {
auto_tag: true,
auto_tag_suffix: arch,
dockerfile: 'Dockerfile',
repo: 'xoxys/${DRONE_REPO_NAME}',
username: { from_secret: 'docker_username' },
password: { from_secret: 'docker_password' },
},
when: {
ref: ['refs/heads/master', 'refs/tags/**'],
},
},
],
depends_on: [
'security',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
},
};
local PipelineDocs = {
kind: 'pipeline',
name: 'docs',
platform: {
os: 'linux',
arch: 'amd64',
},
concurrency: {
limit: 1,
},
steps: [
{
name: 'assets',
image: 'byrnedo/alpine-curl',
commands: [
'mkdir -p docs/themes/hugo-geekdoc/',
'curl -L https://github.com/xoxys/hugo-geekdoc/releases/latest/download/hugo-geekdoc.tar.gz | tar -xz -C docs/themes/hugo-geekdoc/ --strip-components=1',
],
},
{
name: 'test',
image: 'klakegg/hugo:0.59.1-ext-alpine',
commands: [
'cd docs/ && hugo-official',
],
},
{
name: 'freeze',
image: 'appleboy/drone-ssh:1.5.5',
settings: {
host: { from_secret: 'ssh_host' },
key: { from_secret: 'ssh_key' },
script: [
'cp -R /var/www/virtual/geeklab/html/docker-tidy.geekdocs.de/ /var/www/virtual/geeklab/html/dockertidy_freeze/',
'ln -sfn /var/www/virtual/geeklab/html/dockertidy_freeze /var/www/virtual/geeklab/docker-tidy.geekdocs.de',
],
username: { from_secret: 'ssh_username' },
},
},
{
name: 'publish',
image: 'appleboy/drone-scp',
settings: {
host: { from_secret: 'ssh_host' },
key: { from_secret: 'ssh_key' },
rm: true,
source: 'docs/public/*',
strip_components: 2,
target: '/var/www/virtual/geeklab/html/docker-tidy.geekdocs.de/',
username: { from_secret: 'ssh_username' },
},
},
{
name: 'cleanup',
image: 'appleboy/drone-ssh:1.5.5',
settings: {
host: { from_secret: 'ssh_host' },
key: { from_secret: 'ssh_key' },
script: [
'ln -sfn /var/www/virtual/geeklab/html/docker-tidy.geekdocs.de /var/www/virtual/geeklab/docker-tidy.geekdocs.de',
'rm -rf /var/www/virtual/geeklab/html/dockertidy_freeze/',
],
username: { from_secret: 'ssh_username' },
},
},
],
depends_on: [
'build-package',
'build-container-amd64',
'build-container-arm64',
'build-container-arm',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**'],
},
};
local PipelineNotifications = {
kind: 'pipeline',
name: 'notifications',
platform: {
os: 'linux',
arch: 'amd64',
},
steps: [
{
image: 'plugins/manifest',
name: 'manifest',
settings: {
ignore_missing: true,
auto_tag: true,
username: { from_secret: 'docker_username' },
password: { from_secret: 'docker_password' },
spec: 'manifest.tmpl',
},
},
{
name: 'readme',
image: 'sheogorath/readme-to-dockerhub',
environment: {
DOCKERHUB_USERNAME: { from_secret: 'docker_username' },
DOCKERHUB_PASSWORD: { from_secret: 'docker_password' },
DOCKERHUB_REPO_PREFIX: 'xoxys',
DOCKERHUB_REPO_NAME: '${DRONE_REPO_NAME}',
README_PATH: 'README.md',
SHORT_DESCRIPTION: 'docker-tidy - Keep docker hosts tidy',
},
},
{
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: [
'docs',
],
trigger: {
ref: ['refs/heads/master', 'refs/tags/**'],
status: ['success', 'failure'],
},
};
[
PipelineLint,
PipelineDeps,
PipelineTest,
PipelineVerify,
PipelineSecurity,
PipelineBuildPackage,
PipelineBuildContainer(arch='amd64'),
PipelineBuildContainer(arch='arm64'),
PipelineBuildContainer(arch='arm'),
PipelineDocs,
PipelineNotifications,
]

View File

@ -1,545 +0,0 @@
---
kind: pipeline
name: lint
platform:
os: linux
arch: amd64
steps:
- name: flake8
image: python:3.7
commands:
- pip install pipenv -qq
- pipenv --bare install --dev --keep-outdated
- pipenv run flake8 ./dockertidy
environment:
PY_COLORS: 1
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
---
kind: pipeline
name: dependencies
platform:
os: linux
arch: amd64
steps:
- name: pipenv
image: python:3.7
commands:
- pip install pipenv -qq
- pipenv --bare install --keep-outdated
- pipenv check -i 37752
- pipenv --bare install --dev --keep-outdated
- pipenv run pipenv-setup check
environment:
PY_COLORS: 1
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- lint
---
kind: pipeline
name: test
platform:
os: linux
arch: amd64
steps:
- name: pytest
image: python:3.8
commands:
- pip install pipenv -qq
- pipenv --bare install --dev --keep-outdated
- pipenv run pytest dockertidy/tests/ --cov=dockertidy/ --no-cov-on-fail
environment:
PY_COLORS: 1
- name: codecov
image: python:3.8
commands:
- pip install codecov
- codecov --required
environment:
CODECOV_TOKEN:
from_secret: codecov_token
PY_COLORS: 1
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- dependencies
---
kind: pipeline
name: verify
platform:
os: linux
arch: amd64
steps:
- name: python35-pytest
image: python:3.5
commands:
- pip install -qq .
- docker-tidy --help
- docker-tidy --version
environment:
PY_COLORS: 1
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
depends_on:
- clone
- name: python36-pytest
image: python:3.6
commands:
- pip install -qq .
- docker-tidy --help
- docker-tidy --version
environment:
PY_COLORS: 1
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
depends_on:
- clone
- name: python37-pytest
image: python:3.7
commands:
- pip install -qq .
- docker-tidy --help
- docker-tidy --version
environment:
PY_COLORS: 1
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
depends_on:
- clone
- name: python38-pytest
image: python:3.8
commands:
- pip install -qq .
- docker-tidy --help
- docker-tidy --version
environment:
PY_COLORS: 1
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
depends_on:
- clone
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- test
---
kind: pipeline
name: security
platform:
os: linux
arch: amd64
steps:
- name: bandit
image: python:3.7
commands:
- pip install pipenv -qq
- pipenv --bare install --dev --keep-outdated
- pipenv run bandit -r ./dockertidy -x ./dockertidy/tests
environment:
PY_COLORS: 1
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- verify
---
kind: pipeline
name: build-package
platform:
os: linux
arch: amd64
steps:
- name: build
image: python:3.7
commands:
- python setup.py sdist bdist_wheel
environment:
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
- 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: plugins/pypi
settings:
password:
from_secret: pypi_password
repository: https://upload.pypi.org/legacy/
skip_build: true
username:
from_secret: pypi_username
when:
ref:
- refs/tags/**
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: build-container-amd64
platform:
os: linux
arch: amd64
steps:
- name: build
image: python:3.7
commands:
- python setup.py bdist_wheel
environment:
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
- name: dryrun
image: plugins/docker:18-linux-amd64
settings:
dockerfile: Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: xoxys/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/pull/**
- name: publish
image: plugins/docker:18-linux-amd64
settings:
auto_tag: true
auto_tag_suffix: amd64
dockerfile: Dockerfile
password:
from_secret: docker_password
repo: xoxys/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/heads/master
- refs/tags/**
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: build-container-arm64
platform:
os: linux
arch: arm64
steps:
- name: build
image: python:3.7
commands:
- python setup.py bdist_wheel
environment:
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
- name: dryrun
image: plugins/docker:18-linux-arm64
settings:
dockerfile: Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: xoxys/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/pull/**
- name: publish
image: plugins/docker:18-linux-arm64
settings:
auto_tag: true
auto_tag_suffix: arm64
dockerfile: Dockerfile
password:
from_secret: docker_password
repo: xoxys/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/heads/master
- refs/tags/**
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: build-container-arm
platform:
os: linux
arch: arm
steps:
- name: build
image: python:3.7
commands:
- python setup.py bdist_wheel
environment:
SETUPTOOLS_SCM_PRETEND_VERSION: ${DRONE_TAG##v}
- name: dryrun
image: plugins/docker:18-linux-arm
settings:
dockerfile: Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: xoxys/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/pull/**
- name: publish
image: plugins/docker:18-linux-arm
settings:
auto_tag: true
auto_tag_suffix: arm
dockerfile: Dockerfile
password:
from_secret: docker_password
repo: xoxys/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when:
ref:
- refs/heads/master
- refs/tags/**
trigger:
ref:
- refs/heads/master
- refs/tags/**
- refs/pull/**
depends_on:
- security
---
kind: pipeline
name: docs
platform:
os: linux
arch: amd64
concurrency:
limit: 1
steps:
- name: assets
image: byrnedo/alpine-curl
commands:
- mkdir -p docs/themes/hugo-geekdoc/
- curl -L https://github.com/xoxys/hugo-geekdoc/releases/latest/download/hugo-geekdoc.tar.gz | tar -xz -C docs/themes/hugo-geekdoc/ --strip-components=1
- name: test
image: klakegg/hugo:0.59.1-ext-alpine
commands:
- cd docs/ && hugo-official
- name: freeze
image: appleboy/drone-ssh:1.5.5
settings:
host:
from_secret: ssh_host
key:
from_secret: ssh_key
script:
- cp -R /var/www/virtual/geeklab/html/docker-tidy.geekdocs.de/ /var/www/virtual/geeklab/html/dockertidy_freeze/
- ln -sfn /var/www/virtual/geeklab/html/dockertidy_freeze /var/www/virtual/geeklab/docker-tidy.geekdocs.de
username:
from_secret: ssh_username
- name: publish
image: appleboy/drone-scp
settings:
host:
from_secret: ssh_host
key:
from_secret: ssh_key
rm: true
source: docs/public/*
strip_components: 2
target: /var/www/virtual/geeklab/html/docker-tidy.geekdocs.de/
username:
from_secret: ssh_username
- name: cleanup
image: appleboy/drone-ssh:1.5.5
settings:
host:
from_secret: ssh_host
key:
from_secret: ssh_key
script:
- ln -sfn /var/www/virtual/geeklab/html/docker-tidy.geekdocs.de /var/www/virtual/geeklab/docker-tidy.geekdocs.de
- rm -rf /var/www/virtual/geeklab/html/dockertidy_freeze/
username:
from_secret: ssh_username
trigger:
ref:
- refs/heads/master
- refs/tags/**
depends_on:
- build-package
- build-container-amd64
- build-container-arm64
- build-container-arm
---
kind: pipeline
name: notifications
platform:
os: linux
arch: amd64
steps:
- name: manifest
image: plugins/manifest
settings:
auto_tag: true
ignore_missing: true
password:
from_secret: docker_password
spec: manifest.tmpl
username:
from_secret: docker_username
- name: readme
image: sheogorath/readme-to-dockerhub
environment:
DOCKERHUB_PASSWORD:
from_secret: docker_password
DOCKERHUB_REPO_NAME: ${DRONE_REPO_NAME}
DOCKERHUB_REPO_PREFIX: xoxys
DOCKERHUB_USERNAME:
from_secret: docker_username
README_PATH: README.md
SHORT_DESCRIPTION: docker-tidy - Keep docker hosts tidy
- 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
trigger:
ref:
- refs/heads/master
- refs/tags/**
status:
- success
- failure
depends_on:
- docs
---
kind: signature
hmac: db08f11618d3ac957b55287ac41ae743df3d3b9a87a68cda3b25c1add3f0c346
...

18
.flake8
View File

@ -1,18 +0,0 @@
[flake8]
ignore = D103, D107, W503
max-line-length = 99
inline-quotes = double
exclude =
.git
.tox
__pycache__
build
dist
tests
*.pyc
*.egg-info
.cache
.eggs
env*
application-import-names = dockertidy
format = ${cyan}%(path)s:%(row)d:%(col)d${reset}: ${red_bold}%(code)s${reset} %(text)s

22
.github/settings.yml vendored
View File

@ -1,7 +1,6 @@
---
repository:
name: docker-tidy
description: Keep docker hosts tidy.
description: Keep docker hosts tidy
homepage: https://docker-tidy.geekdocs.de
topics: automation, python, docker
@ -9,9 +8,9 @@ repository:
has_issues: true
has_projects: false
has_wiki: false
has_downloads: false
has_downloads: true
default_branch: master
default_branch: main
allow_squash_merge: true
allow_merge_commit: true
@ -47,14 +46,17 @@ labels:
description: This will not be worked on
branches:
- name: master
- name: main
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
...

3
.gitignore vendored
View File

@ -106,6 +106,9 @@ pip-wheel-metadata
docs/themes/
docs/public/
resources/_gen/
.hugo_build.lock
# Misc
.dockertidy*
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

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

100
.woodpecker/docs.yml Normal file
View File

@ -0,0 +1,100 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
steps:
- name: assets
image: quay.io/thegeeklab/alpine-tools
commands:
- make doc
- 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 docs/content README.md
- name: build
image: quay.io/thegeeklab/hugo:0.125.7
commands:
- hugo --panicOnWarning -s docs/
- name: beautify
image: quay.io/thegeeklab/alpine-tools
commands:
- html-beautify -r -f 'docs/public/**/*.html'
environment:
FORCE_COLOR: "true"
- name: publish
image: quay.io/thegeeklab/wp-s3-action
settings:
access_key:
from_secret: s3_access_key
bucket: geekdocs
delete: true
endpoint:
from_secret: s3_endpoint
path_style: true
secret_key:
from_secret: s3_secret_access_key
source: docs/public/
strip_prefix: docs/public/
target: /${CI_REPO_NAME}
when:
- event: [push, manual]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
status: [success, failure]
- 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: Keep docker hosts tidy
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

39
.woodpecker/test.yml Normal file
View File

@ -0,0 +1,39 @@
---
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 run pytest --cov-append
- 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 +0,0 @@
* Initial release after fork

31
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,31 @@
# Contributing
## 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.
## Bug Reports and Feature Requests
If you have found a **bug** or have a **feature request** please use the search first in case a similar issue already exists.
If not, please create an issue in this repository
## Code
If you would like to fix a bug or implement a feature, please fork the repository and create a Pull Request.
Before you start any Pull Request, it is recommended that you create an issue to discuss first if you have any
doubts about requirement or implementation. That way you can be sure that the maintainer(s) agree on what to change and how,
and you can hopefully get a quick merge afterwards.
Pull Requests can only be merged once all status checks are green.
## Do not force push to your Pull Request branch
Please do not force push to your Pull Requests branch after you have created your Pull Request, as doing so makes it harder for us to review your work.
Pull Requests will always be squashed by us when we merge your work. Commit as many times as you need in your Pull Request branch.
## Re-requesting a review
Please do not ping your reviewer(s) by mentioning them in a new comment. Instead, use the re-request review functionality.
Read more about this in the [GitHub docs, Re-requesting a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request#re-requesting-a-review).

26
Containerfile.multiarch Normal file
View File

@ -0,0 +1,26 @@
FROM python:3.12-alpine@sha256:5365725a6cd59b72a927628fdda9965103e3dc671676c89ef3ed8b8b0e22e812
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.title="docker-tidy"
LABEL org.opencontainers.image.url="https://docker-tidy.geekdocs.de/"
LABEL org.opencontainers.image.source="https://github.com/thegeeklab/docker-tidy"
LABEL org.opencontainers.image.documentation="https://docker-tidy.geekdocs.de/"
ENV PY_COLORS=1
ENV TZ=UTC
ADD dist/docker_tidy-*.whl /
RUN apk --update add --virtual .build-deps build-base libffi-dev openssl-dev && \
pip install --upgrade --no-cache-dir pip && \
pip install --no-cache-dir $(find / -name "docker_tidy-*.whl") && \
apk del .build-deps && \
rm -f docker_tidy-*.whl && \
rm -rf /var/cache/apk/* && \
rm -rf /root/.cache/ && \
rm -rf /tmp/*
USER root
CMD []
ENTRYPOINT ["/usr/local/bin/docker-tidy", "gc"]

View File

@ -1,26 +0,0 @@
FROM python:3.8-alpine
LABEL maintainer="Robert Kaussow <mail@geeklabor.de>" \
org.label-schema.name="docker-tidy" \
org.label-schema.vcs-url="https://github.com/xoxys/docker-tidy" \
org.label-schema.vendor="Robert Kaussow" \
org.label-schema.schema-version="1.0"
ENV PY_COLORS=1
ENV TZ=UTC
ADD dist/docker_tidy-*.whl /
RUN \
apk --update add --virtual .build-deps gcc g++ && \
pip install --upgrade --no-cache-dir pip && \
pip install --no-cache-dir --find-links=. docker-tidy && \
rm -f docker_tidy-*.whl && \
apk del .build-deps && \
rm -rf /var/cache/apk/* && \
rm -rf /root/.cache/ && \
rm -rf /tmp/*
USER root
CMD []
ENTRYPOINT ["/usr/local/bin/docker-tidy", "gc"]

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2020 Robert Kaussow <mail@geeklabor.de>
Copyright 2022 Robert Kaussow <mail@thegeeklab.de>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
# renovate: datasource=github-releases depName=thegeeklab/hugo-geekdoc
THEME_VERSION := v0.45.0
THEME := hugo-geekdoc
BASEDIR := docs
THEMEDIR := $(BASEDIR)/themes
.PHONY: all
all: doc
.PHONY: doc
doc: doc-assets
.PHONY: doc-assets
doc-assets:
mkdir -p $(THEMEDIR)/$(THEME)/ ; \
curl -sSL "https://github.com/thegeeklab/$(THEME)/releases/download/${THEME_VERSION}/$(THEME).tar.gz" | tar -xz -C $(THEMEDIR)/$(THEME)/ --strip-components=1
.PHONY: clean
clean:
rm -rf $(THEMEDIR)

48
Pipfile
View File

@ -1,48 +0,0 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
pipenv-setup = "*"
pydocstyle = "<4.0.0"
flake8 = "*"
flake8-colors = "*"
flake8-blind-except = "*"
flake8-builtins = "*"
flake8-docstrings = "<=3.0.0"
flake8-isort = "*"
flake8-logging-format = "*"
flake8-polyfill = "*"
flake8-quotes = "*"
pep8-naming = "*"
pytest = "*"
pytest-mock = "*"
pytest-cov = "*"
bandit = "*"
docker-tidy = {editable = true,path = "."}
autopep8 = "*"
yapf = "*"
[packages]
zipp = "<2.0.0"
importlib-metadata = {version = "*",markers = "python_version<'3.8'"}
certifi = "*"
chardet = "*"
docker = "*"
docker-pycreds = "*"
idna = "*"
ipaddress = "*"
python-dateutil = "*"
requests = "*"
appdirs = "*"
colorama = "*"
anyconfig = "*"
pathspec = "*"
python-json-logger = "*"
jsonschema = "*"
environs = "*"
nested-lookup = "*"
"ruamel.yaml" = "*"
websocket-client = "*"
dateparser = "*"

1014
Pipfile.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,25 @@
# docker-tidy
[![Build Status](https://img.shields.io/drone/build/xoxys/docker-tidy?logo=drone)](https://cloud.drone.io/xoxys/docker-tidy)
[![Docker Hub](https://img.shields.io/badge/docker-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/xoxys/docker-tidy)
Keep docker hosts tidy
[![Build Status](https://ci.thegeeklab.de/api/badges/thegeeklab/docker-tidy/status.svg)](https://ci.thegeeklab.de/repos/thegeeklab/docker-tidy)
[![Docker Hub](https://img.shields.io/badge/docker-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/docker-tidy)
[![Python Version](https://img.shields.io/pypi/pyversions/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![PyPi Status](https://img.shields.io/pypi/status/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![PyPi Release](https://img.shields.io/pypi/v/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![Codecov](https://img.shields.io/codecov/c/github/xoxys/docker-tidy)](https://codecov.io/gh/xoxys/docker-tidy)
[![License: MIT](https://img.shields.io/github/license/xoxys/docker-tidy)](LICENSE)
[![PyPI Status](https://img.shields.io/pypi/status/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![PyPI Release](https://img.shields.io/pypi/v/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![GitHub contributors](https://img.shields.io/github/contributors/thegeeklab/docker-tidy)](https://github.com/thegeeklab/docker-tidy/graphs/contributors)
[![Source: GitHub](https://img.shields.io/badge/source-github-blue.svg?logo=github&logoColor=white)](https://github.com/thegeeklab/docker-tidy)
[![License: Apache-2.0](https://img.shields.io/github/license/thegeeklab/docker-tidy)](https://github.com/thegeeklab/docker-tidy/blob/main/LICENSE)
This project is a fork of [Yelp/docker-custodian](https://github.com/Yelp/docker-custodian). Keep docker hosts tidy.
You can find the full documentation at [https://docker-tidy.geekdocs.de](https://docker-tidy.geekdocs.de/).
## Contributors
Special thanks to all [contributors](https://github.com/thegeeklab/docker-tidy/graphs/contributors). If you would like to contribute,
please see the [instructions](https://github.com/thegeeklab/docker-tidy/blob/main/CONTRIBUTING.md).
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## Maintainers and Contributors
[Robert Kaussow](https://github.com/xoxys)
This project is licensed under the Apache-2.0 License - see the [LICENSE](https://github.com/thegeeklab/docker-tidy/blob/main/LICENSE) file for details.

View File

@ -1,7 +0,0 @@
#!/usr/bin/env python
import sys
import dockertidy.__main__
sys.exit(dockertidy.__main__.main())

21
codecov.yml Normal file
View File

@ -0,0 +1,21 @@
codecov:
require_ci_to_pass: true
coverage:
status:
project:
default:
target: auto
threshold: 5%
branches:
- main
if_ci_failed: error
informational: false
only_pulls: false
patch:
default:
target: auto
threshold: 5%
branches:
- main
if_ci_failed: error
only_pulls: false

View File

@ -1,27 +0,0 @@
#!/usr/bin/env python3
"""Global utility methods and classes."""
from distutils.util import strtobool
def to_bool(string):
return bool(strtobool(str(string)))
def dict_intersect(d1, d2):
return {
k: dict_intersect(d1[k], d2[k]) if isinstance(d1[k], dict) else d1[k]
for k in d1.keys() & d2.keys()
}
class Singleton(type):
"""Singleton metaclass."""
_instances = {}
def __call__(cls, *args, **kwargs): # noqa
if cls not in cls._instances:
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
return cls._instances[cls]

View File

@ -1,15 +1,3 @@
#!/usr/bin/env python3
"""Default package."""
try:
from importlib import metadata
except ImportError: # for Python<3.8
import importlib_metadata as metadata
__author__ = "Robert Kaussow"
__project__ = "docker-tidy"
__license__ = "Apache-2.0"
__maintainer__ = "Robert Kaussow"
__email__ = "mail@geeklabor.de"
__url__ = "https://github.com/xoxys/docker-tidy"
__version__ = metadata.version("docker-tidy")
__version__ = "0.0.0"

View File

@ -1,12 +0,0 @@
#!/usr/bin/env python3
"""Main program."""
from dockertidy.Cli import DockerTidy
def main():
DockerTidy()
if __name__ == "__main__":
main()

View File

@ -6,9 +6,9 @@ import docker
import docker.errors
import requests.exceptions
from dockertidy.Config import SingleConfig
from dockertidy.Logger import SingleLog
from dockertidy.Parser import timedelta
from dockertidy.config import SingleConfig
from dockertidy.logger import SingleLog
from dockertidy.parser import timedelta
class AutoStop:
@ -44,8 +44,9 @@ class AutoStop:
prefix and matcher(name) and self._has_been_running_since(container, max_run_time)
) or (not prefix and self._has_been_running_since(container, max_run_time)):
self.logger.info(
"Stopping container %s %s: running since %s" %
(container["Id"][:16], name, container["State"]["StartedAt"])
"Stopping container {id} {name}: running since {started}".format(
id=container["Id"][:16], name=name, started=container["State"]["StartedAt"]
)
)
if not dry_run:
@ -55,12 +56,11 @@ class AutoStop:
try:
client.stop(cid)
except requests.exceptions.Timeout as e:
self.logger.warn("Failed to stop container %s: %s" % (cid, e))
except docker.errors.APIError as ae:
self.logger.warn("Error stopping %s: %s" % (cid, ae))
self.logger.warning(f"Failed to stop container {cid}: {e!s}")
except docker.errors.APIError as e:
self.logger.warning(f"Error stopping {cid}: {e!s}")
def _build_container_matcher(self, prefixes):
def matcher(name):
return any(name.startswith(prefix) for prefix in prefixes)
@ -86,4 +86,4 @@ class AutoStop:
self.stop_containers()
if not config["stop"]["max_run_time"]:
self.logger.warn("Skipped, no arguments given")
self.logger.warning("Skipped, no arguments given")

View File

@ -3,13 +3,13 @@
import argparse
import dockertidy.Exception
import dockertidy.exception
from dockertidy import __version__
from dockertidy.Autostop import AutoStop
from dockertidy.Config import SingleConfig
from dockertidy.GarbageCollector import GarbageCollector
from dockertidy.Logger import SingleLog
from dockertidy.Parser import timedelta_validator
from dockertidy.autostop import AutoStop
from dockertidy.config import SingleConfig
from dockertidy.garbage_collector import GarbageCollector
from dockertidy.logger import SingleLog
from dockertidy.parser import timedelta_validator
class DockerTidy:
@ -36,7 +36,7 @@ class DockerTidy:
action="store_true",
default=None,
dest="dry_run",
help="only log actions, don't stop anything"
help="only log actions, don't stop anything",
)
parser.add_argument(
"-t",
@ -44,7 +44,7 @@ class DockerTidy:
type=int,
dest="http_timeout",
metavar="HTTP_TIMEOUT",
help="HTTP timeout in seconds for making docker API calls"
help="HTTP timeout in seconds for making docker API calls",
)
parser.add_argument(
"-v", dest="logging.level", action="append_const", const=-1, help="increase log level"
@ -52,9 +52,7 @@ class DockerTidy:
parser.add_argument(
"-q", dest="logging.level", action="append_const", const=1, help="decrease log level"
)
parser.add_argument(
"--version", action="version", version="%(prog)s {}".format(__version__)
)
parser.add_argument("--version", action="version", version=f"%(prog)s {__version__}")
subparsers = parser.add_subparsers(dest="command", help="sub-command help")
subparsers.required = True
@ -66,7 +64,7 @@ class DockerTidy:
dest="gc.max_container_age",
metavar="MAX_CONTAINER_AGE",
help="maximum age for a container, containers older than this age "
"will be removed (dateparser value)"
"will be removed (dateparser value)",
)
parser_gc.add_argument(
"--max-image-age",
@ -74,13 +72,13 @@ class DockerTidy:
dest="gc.max_image_age",
metavar="MAX_IMAGE_AGE",
help="maxium age for an image, images older than this age will be "
"removed (dateparser value)"
"removed (dateparser value)",
)
parser_gc.add_argument(
"--dangling-volumes",
action="store_true",
dest="gc.dangling_volumes",
help="dangling volumes will be removed"
help="dangling volumes will be removed",
)
parser_gc.add_argument(
"--exclude-image",
@ -88,7 +86,7 @@ class DockerTidy:
type=str,
dest="gc.exclude_images",
metavar="EXCLUDE_IMAGE",
help="never remove images with this tag"
help="never remove images with this tag",
)
parser_gc.add_argument(
"--exclude-container-label",
@ -96,8 +94,7 @@ class DockerTidy:
type=str,
dest="gc.exclude_container_labels",
metavar="EXCLUDE_CONTAINER_LABEL",
help="never remove containers with this label key "
"or label key=value"
help="never remove containers with this label key or label key=value",
)
parser_stop = subparsers.add_parser(
@ -108,7 +105,7 @@ class DockerTidy:
type=timedelta_validator,
dest="stop.max_run_time",
metavar="MAX_RUN_TIME",
help="maximum time a container is allows to run (dateparser value)"
help="maximum time a container is allows to run (dateparser value)",
)
parser_stop.add_argument(
"--prefix",
@ -116,7 +113,7 @@ class DockerTidy:
type=str,
dest="stop.prefix",
metavar="PREFIX",
help="only stop containers which match one of the prefix"
help="only stop containers which match one of the prefix",
)
return parser.parse_args().__dict__
@ -124,16 +121,16 @@ class DockerTidy:
def _get_config(self):
try:
config = SingleConfig(args=self.args)
except dockertidy.Exception.ConfigError as e:
except dockertidy.exception.ConfigError as e:
self.log.sysexit_with_message(e)
try:
self.log.set_level(config.config["logging"]["level"])
except ValueError as e:
self.log.sysexit_with_message("Can not set log level.\n{}".format(str(e)))
self.log.sysexit_with_message(f"Can not set log level.\n{e!s}")
self.logger.info("Using config file {}".format(config.config_file))
self.logger.debug("Config dump: {}".format(config.config))
self.logger.info(f"Using config file {config.config_file}")
self.logger.debug(f"Config dump: {config.config}")
return config
@ -143,3 +140,7 @@ class DockerTidy:
self.gc.run()
elif self.config.config["command"] == "stop":
self.stop.run()
def main():
DockerTidy()

View File

@ -10,18 +10,18 @@ import ruamel.yaml
from appdirs import AppDirs
from jsonschema._utils import format_as_index
import dockertidy.Exception
import dockertidy.Parser
from dockertidy.Parser import env
from dockertidy.Utils import Singleton
from dockertidy.Utils import dict_intersect
import dockertidy.exception
import dockertidy.parser
from dockertidy.parser import env
from dockertidy.utils import Singleton, dict_intersect
config_dir = AppDirs("docker-tidy").user_config_dir
default_config_file = os.path.join(config_dir, "config.yml")
class Config():
"""Create an object with all necessary settings.
class Config:
"""
Create an object with all necessary settings.
Settings are loade from multiple locations in defined order (last wins):
- default settings defined by `self._get_defaults()`
@ -36,77 +36,77 @@ class Config():
"config_file": {
"default": "",
"env": "CONFIG_FILE",
"type": environs.Env().str
"type": environs.Env().str,
},
"dry_run": {
"default": False,
"env": "DRY_RUN",
"file": True,
"type": environs.Env().bool
"type": environs.Env().bool,
},
"http_timeout": {
"default": 60,
"env": "HTTP_TIMEOUT",
"file": True,
"type": environs.Env().int
"type": environs.Env().int,
},
"logging.level": {
"default": "WARNING",
"env": "LOG_LEVEL",
"file": True,
"type": environs.Env().str
"type": environs.Env().str,
},
"logging.json": {
"default": False,
"env": "LOG_JSON",
"file": True,
"type": environs.Env().bool
"type": environs.Env().bool,
},
"gc.max_container_age": {
"default": "",
"env": "GC_MAX_CONTAINER_AGE",
"file": True,
"type": env.timedelta_validator
"type": env.timedelta_validator,
},
"gc.max_image_age": {
"default": "",
"env": "GC_MAX_IMAGE_AGE",
"file": True,
"type": env.timedelta_validator
"type": env.timedelta_validator,
},
"gc.dangling_volumes": {
"default": False,
"env": "GC_DANGLING_VOLUMES",
"file": True,
"type": environs.Env().bool
"type": environs.Env().bool,
},
"gc.exclude_images": {
"default": [],
"env": "GC_EXCLUDE_IMAGES",
"file": True,
"type": environs.Env().list
"type": environs.Env().list,
},
"gc.exclude_container_labels": {
"default": [],
"env": "GC_EXCLUDE_CONTAINER_LABELS",
"file": True,
"type": environs.Env().list
"type": environs.Env().list,
},
"stop.max_run_time": {
"default": "",
"env": "STOP_MAX_RUN_TIME",
"file": True,
"type": env.timedelta_validator
"type": env.timedelta_validator,
},
"stop.prefix": {
"default": [],
"env": "STOP_PREFIX",
"file": True,
"type": environs.Env().list
"type": environs.Env().list,
},
}
def __init__(self, args={}):
def __init__(self, args=None):
"""
Initialize a new settings class.
@ -115,7 +115,10 @@ class Config():
:returns: None
"""
self._args = args
if args is None:
self._args = {}
else:
self._args = args
self._schema = None
self.config_file = default_config_file
self.config = None
@ -159,12 +162,12 @@ class Config():
value = item["type"](envname)
normalized = self._add_dict_branch(normalized, key.split("."), value)
except environs.EnvError as e:
if '"{}" not set'.format(envname) in str(e):
if f'"{envname}" not set' in str(e):
pass
else:
raise dockertidy.Exception.ConfigError(
raise dockertidy.exception.ConfigError(
"Unable to read environment variable", str(e)
)
) from e
return normalized
@ -188,15 +191,15 @@ class Config():
source_files.append(os.path.join(os.getcwd(), ".dockertidy.yaml"))
for config in [i for i in source_files if os.path.exists(i)]:
with open(config, "r", encoding="utf8") as stream:
with open(config, encoding="utf8") as stream:
s = stream.read()
try:
normalized = ruamel.yaml.safe_load(s)
normalized = ruamel.yaml.YAML(typ="safe", pure=True).load(s)
except (ruamel.yaml.composer.ComposerError, ruamel.yaml.scanner.ScannerError) as e:
message = "{} {}".format(e.context, e.problem)
raise dockertidy.Exception.ConfigError(
"Unable to read config file {}".format(config), message
)
message = f"{e.context} {e.problem}"
raise dockertidy.exception.ConfigError(
f"Unable to read config file {config}", message
) from e
if self._validate(normalized):
anyconfig.merge(files_raw, normalized, ac_merge=anyconfig.MS_DICTS)
@ -224,27 +227,26 @@ class Config():
if not os.path.isabs(path):
base = os.path.join(os.getcwd(), path)
return os.path.abspath(os.path.expanduser(os.path.expandvars(base)))
else:
return path
return path
def _validate(self, config):
try:
anyconfig.validate(config, self.schema, ac_schema_safe=False)
except jsonschema.exceptions.ValidationError as e:
schema_error = "Failed validating '{validator}' in schema{schema}\n{message}".format(
validator=e.validator,
schema=format_as_index(list(e.relative_schema_path)[:-1]),
message=e.message
)
raise dockertidy.Exception.ConfigError("Configuration error", schema_error)
schema = format_as_index(list(e.relative_schema_path)[:-1])
schema_error = f"Failed validating '{e.validator}' in schema {schema}\n{e.message}"
raise dockertidy.exception.ConfigError("Configuration error", schema_error) from e
return True
def _add_dict_branch(self, tree, vector, value):
key = vector[0]
tree[key] = value \
if len(vector) == 1 \
else self._add_dict_branch(tree[key] if key in tree else {}, vector[1:], value)
tree[key] = (
value
if len(vector) == 1
else self._add_dict_branch(tree.get(key, {}), vector[1:], value)
)
return tree

View File

@ -6,7 +6,7 @@ class TidyError(Exception):
"""Generic exception class for docker-tidy."""
def __init__(self, msg, original_exception=""):
super(TidyError, self).__init__(msg + ("\n%s" % original_exception))
super().__init__(f"{msg}\n{original_exception}")
self.original_exception = original_exception

View File

@ -9,9 +9,9 @@ import docker
import docker.errors
import requests.exceptions
from dockertidy.Config import SingleConfig
from dockertidy.Logger import SingleLog
from dockertidy.Parser import timedelta
from dockertidy.config import SingleConfig
from dockertidy.logger import SingleLog
from dockertidy.parser import timedelta
class GarbageCollector:
@ -55,7 +55,8 @@ class GarbageCollector:
self.logger.info(
"Removing container {} {} {}".format(
container["Id"][:16],
container.get("Name", "").lstrip("/"), container["State"]["FinishedAt"]
container.get("Name", "").lstrip("/"),
container["State"]["FinishedAt"],
)
)
@ -163,7 +164,6 @@ class GarbageCollector:
self._remove_image(image_summary, timedelta(config["gc"]["max_image_age"]))
def _filter_excluded_images(self, images, exclude_set):
def include_image(image_summary):
image_tags = image_summary.get("RepoTags")
if self._no_image_tags(image_tags):
@ -176,12 +176,11 @@ class GarbageCollector:
return filter(include_image, images)
def _filter_images_in_use(self, images, image_tags_in_use):
def get_tag_set(image_summary):
image_tags = image_summary.get("RepoTags")
if self._no_image_tags(image_tags):
# The repr of the image Id used by client.containers()
return set(["%s:latest" % image_summary["Id"][:12]])
return {"{id}:latest".format(id=image_summary["Id"][:12])}
return set(image_tags)
def image_not_in_use(image_summary):
@ -190,7 +189,6 @@ class GarbageCollector:
return filter(image_not_in_use, images)
def _filter_images_in_use_by_id(self, images, image_ids_in_use):
def image_not_in_use(image_summary):
return image_summary["Id"] not in image_ids_in_use
@ -210,7 +208,7 @@ class GarbageCollector:
if not image or not self._is_image_old(image, min_date):
return
self.logger.info("Removing image %s" % self._format_image(image, image_summary))
self.logger.info(f"Removing image {self._format_image(image, image_summary)}")
if config["dry_run"]:
return
@ -230,7 +228,7 @@ class GarbageCollector:
if not volume:
return
self.logger.info("Removing volume %s" % volume["Name"])
self.logger.info("Removing volume {name}".format(name=volume["Name"]))
if config["dry_run"]:
return
@ -249,61 +247,57 @@ class GarbageCollector:
try:
return func(**kwargs)
except requests.exceptions.Timeout as e:
params = ",".join("%s=%s" % item for item in kwargs.items())
self.logger.warn("Failed to call %s %s %s" % (func.__name__, params, e))
except docker.errors.APIError as ae:
params = ",".join("%s=%s" % item for item in kwargs.items())
self.logger.warn("Error calling %s %s %s" % (func.__name__, params, ae))
params = ",".join("%s=%s" % item for item in kwargs.items()) # noqa:UP031
self.logger.warning(f"Failed to call {func.__name__} {params} {e!s}")
except docker.errors.APIError as e:
params = ",".join("%s=%s" % item for item in kwargs.items()) # noqa:UP031
self.logger.warning(f"Error calling {func.__name__} {params} {e!s}")
def _format_image(self, image, image_summary):
def get_tags():
tags = image_summary.get("RepoTags")
if not tags or tags == ["<none>:<none>"]:
return ""
return ", ".join(tags)
return "%s %s" % (image["Id"][:16], get_tags())
return "{id} {tags}".format(id=image["Id"][:16], tags=get_tags())
def _build_exclude_set(self):
config = self.config.config
exclude_set = set(config["gc"]["exclude_images"])
def is_image_tag(line):
return line and not line.startswith("#")
return exclude_set
return set(config["gc"]["exclude_images"])
def _format_exclude_labels(self):
config = self.config.config
exclude_labels = []
for exclude_label_arg in config["gc"]["exclude_container_label"]:
for exclude_label_arg in config["gc"]["exclude_container_labels"]:
split_exclude_label = exclude_label_arg.split("=", 1)
exclude_label_key = split_exclude_label[0]
if len(split_exclude_label) == 2:
exclude_label_value = split_exclude_label[1]
else:
exclude_label_value = None
exclude_label_value = split_exclude_label[1] if len(split_exclude_label) == 2 else None
exclude_labels.append(
self.ExcludeLabel(
key=exclude_label_key,
value=exclude_label_value,
)
)
return exclude_labels
config["gc"]["exclude_container_labels"] = exclude_labels
def _get_docker_client(self):
config = self.config.config
try:
return docker.APIClient(version="auto", timeout=config["http_timeout"])
except docker.errors.DockerException as e:
self.log.sysexit_with_message("Can't create docker client\n{}".format(e))
self.log.sysexit_with_message(f"Can't create docker client\n{e}")
def run(self):
"""Garbage collector main method."""
self.logger.info("Start garbage collection")
config = self.config.config
self._format_exclude_labels()
if config["gc"]["max_container_age"]:
self.cleanup_containers()
@ -316,7 +310,8 @@ class GarbageCollector:
self.cleanup_volumes()
if (
not config["gc"]["max_container_age"] and not config["gc"]["max_image_age"]
not config["gc"]["max_container_age"]
and not config["gc"]["max_image_age"]
and not config["gc"]["dangling_volumes"]
):
self.logger.warn("Skipped, no arguments given")
self.logger.ing("Skipped, no arguments given")

View File

@ -8,11 +8,10 @@ import sys
import colorama
from pythonjsonlogger import jsonlogger
from dockertidy.Utils import Singleton
from dockertidy.Utils import to_bool
from dockertidy.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():
@ -26,7 +25,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):
@ -47,15 +46,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)
@ -63,11 +62,11 @@ class MultilineJsonFormatter(jsonlogger.JsonFormatter):
class Log:
"""Base logging object."""
def __init__(self, level=logging.WARN, name="dockertidy", json=False):
def __init__(self, level=logging.WARNING, name="dockertidy", 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))
@ -88,13 +87,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))
)
)
@ -164,8 +163,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):
@ -181,7 +180,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):
"""Exit running program with given exit code."""

View File

@ -10,7 +10,8 @@ env = environs.Env()
def timedelta_validator(value):
"""Return the dateparser string for a time in the past.
"""
Return the dateparser string for a time in the past.
:param value: a string containing a time format supported by
mod:`dateparser`
@ -19,13 +20,14 @@ def timedelta_validator(value):
return None
if not dateparser.parse(value):
raise ArgumentTypeError("'{}' is not a valid timedelta string".format(value))
raise ArgumentTypeError(f"'{value}' is not a valid timedelta string")
return value
def timedelta(value, dt_format=None):
"""Return the :class:`datetime.datetime.DateTime` for a time in the past.
"""
Return the :class:`datetime.datetime.DateTime` for a time in the past.
:param value: a string containing a time format supported by
mod:`dateparser`
@ -34,10 +36,7 @@ def timedelta(value, dt_format=None):
return None
timedelta = dateparser.parse(
value, settings={
"TO_TIMEZONE": "UTC",
"RETURN_AS_TIMEZONE_AWARE": True
}
value, settings={"TO_TIMEZONE": "UTC", "RETURN_AS_TIMEZONE_AWARE": True}
)
if dt_format:
@ -51,5 +50,5 @@ def timedelta_parser(value):
try:
timedelta_validator(value)
return value
except TypeError as e:
raise environs.EnvError(e)
except ArgumentTypeError as e:
raise environs.EnvError(e) from e

View File

@ -0,0 +1,48 @@
"""Test Autostop class."""
import docker
import pytest
from dockertidy import autostop
pytest_plugins = [
"dockertidy.test.fixtures.fixtures",
]
@pytest.fixture
def autostop_fixture(mocker):
mocker.patch.object(
autostop.AutoStop,
"_get_docker_client",
return_value=mocker.create_autospec(docker.APIClient)
)
stop = autostop.AutoStop()
return stop
def test_stop_container(autostop_fixture, mocker):
client = mocker.create_autospec(docker.APIClient)
cid = "asdb"
autostop_fixture._stop_container(client, cid)
client.stop.assert_called_once_with(cid)
def test_build_container_matcher(autostop_fixture, mocker):
prefixes = ["one_", "two_"]
matcher = autostop_fixture._build_container_matcher(prefixes)
assert matcher("one_container")
assert matcher("two_container")
assert not matcher("three_container")
assert not matcher("one")
def test_has_been_running_since_true(autostop_fixture, container, later_time):
assert autostop_fixture._has_been_running_since(container, later_time)
def test_has_been_running_since_false(autostop_fixture, container, earlier_time):
assert not autostop_fixture._has_been_running_since(container, earlier_time)

View File

@ -4,22 +4,22 @@ import docker
import pytest
import requests
from dockertidy import GarbageCollector
from dockertidy import garbage_collector
pytest_plugins = [
"dockertidy.tests.fixtures.fixtures",
"dockertidy.test.fixtures.fixtures",
]
@pytest.fixture
def gc(mocker):
mocker.patch.object(
GarbageCollector.GarbageCollector,
garbage_collector.GarbageCollector,
"_get_docker_client",
return_value=mocker.create_autospec(docker.APIClient)
)
gc = GarbageCollector.GarbageCollector()
gc = garbage_collector.GarbageCollector()
return gc
@ -358,13 +358,15 @@ def test_api_call_with_timeout(mocker, gc):
gc._api_call(func, image=image)
func.assert_called_once_with(image="abcd")
mock_log.warn.assert_called_once_with("Failed to call remove_image " + "image=abcd msg")
mock_log.warning.assert_called_once_with("Failed to call remove_image " + "image=abcd msg")
def test_api_call_with_api_error(mocker, gc):
func = mocker.Mock(
side_effect=docker.errors.APIError(
"Ooops", mocker.Mock(status_code=409, reason="Conflict"), explanation="failed"
"Ooops",
mocker.Mock(status_code=409, reason="Conflict", url="dummy"),
explanation="failed"
),
__name__="remove_image"
)
@ -374,9 +376,9 @@ def test_api_call_with_api_error(mocker, gc):
gc._api_call(func, image=image)
func.assert_called_once_with(image="abcd")
mock_log.warn.assert_called_once_with(
mock_log.warning.assert_called_once_with(
"Error calling remove_image image=abcd "
'409 Client Error: Conflict ("failed")'
'409 Client Error for dummy: Conflict ("failed")'
)
@ -437,7 +439,7 @@ def test_build_exclude_set(gc):
def test_format_exclude_labels(gc):
gc.config.config["gc"]["exclude_container_label"] = [
gc.config.config["gc"]["exclude_container_labels"] = [
"voo*",
"doo=poo",
]
@ -445,8 +447,8 @@ def test_format_exclude_labels(gc):
gc.ExcludeLabel(key="voo*", value=None),
gc.ExcludeLabel(key="doo", value="poo"),
]
exclude_labels = gc._format_exclude_labels()
assert expected == exclude_labels
gc._format_exclude_labels()
assert expected == gc.config.config["gc"]["exclude_container_labels"]
def test_build_exclude_set_empty(gc):

View File

@ -1,48 +0,0 @@
"""Test Autostop class."""
import docker
import pytest
from dockertidy import Autostop
pytest_plugins = [
"dockertidy.tests.fixtures.fixtures",
]
@pytest.fixture
def autostop(mocker):
mocker.patch.object(
Autostop.AutoStop,
"_get_docker_client",
return_value=mocker.create_autospec(docker.APIClient)
)
stop = Autostop.AutoStop()
return stop
def test_stop_container(autostop, mocker):
client = mocker.create_autospec(docker.APIClient)
cid = "asdb"
autostop._stop_container(client, cid)
client.stop.assert_called_once_with(cid)
def test_build_container_matcher(autostop, mocker):
prefixes = ["one_", "two_"]
matcher = autostop._build_container_matcher(prefixes)
assert matcher("one_container")
assert matcher("two_container")
assert not matcher("three_container")
assert not matcher("one")
def test_has_been_running_since_true(autostop, container, later_time):
assert autostop._has_been_running_since(container, later_time)
def test_has_been_running_since_false(autostop, container, earlier_time):
assert not autostop._has_been_running_since(container, earlier_time)

48
dockertidy/utils.py Normal file
View File

@ -0,0 +1,48 @@
#!/usr/bin/env python3
"""Global utility methods and classes."""
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)))
def dict_intersect(d1, d2):
return {
k: dict_intersect(d1[k], d2[k]) if isinstance(d1[k], dict) else d1[k]
for k in d1.keys() & d2.keys()
}
class Singleton(type):
"""Singleton metaclass."""
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]

View File

@ -18,14 +18,19 @@ markup:
startLevel: 1
params:
description: >
Keep docker hosts tidy. docker-tidy is a tool to remove outdated and unused docker resources based on filters.
images:
- "socialmedia2.png"
geekdocMenuBundle: true
geekdocToC: 3
geekdocRepo: https://github.com/xoxys/docker-tidy
geekdocEditPath: edit/master/docs/content
geekdocRepo: https://github.com/thegeeklab/docker-tidy
geekdocEditPath: edit/main/docs
geekdocDateFormat: "Jan 2, 2006"
geekdocSearch: true
geekdocLegalNotice: https://geeklabor.de/legal-notice/#impressum
geekdocPrivacyPolicy: https://geeklabor.de/legal-notice/#datenschutzerkl%C3%A4rung
geekdocLegalNotice: https://thegeeklab.de/legal-notice/#contact-information
geekdocPrivacyPolicy: https://thegeeklab.de/legal-notice/#privacy-policy

View File

@ -2,12 +2,13 @@
title: Documentation
---
[![Build Status](https://img.shields.io/drone/build/xoxys/docker-tidy?logo=drone)](https://cloud.drone.io/xoxys/docker-tidy)
[![Docker Hub](https://img.shields.io/badge/docker-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/xoxys/docker-tidy)
[![Build Status](https://ci.thegeeklab.de/api/badges/thegeeklab/docker-tidy/status.svg)](https://ci.thegeeklab.de/repos/thegeeklab/docker-tidy)
[![Docker Hub](https://img.shields.io/badge/docker-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/docker-tidy)
[![Python Version](https://img.shields.io/pypi/pyversions/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![PyPi Status](https://img.shields.io/pypi/status/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![PyPi Release](https://img.shields.io/pypi/v/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![Codecov](https://img.shields.io/codecov/c/github/xoxys/docker-tidy)](https://codecov.io/gh/xoxys/docker-tidy)
[![License: MIT](https://img.shields.io/github/license/xoxys/docker-tidy)](LICENSE)
[![PyPI Status](https://img.shields.io/pypi/status/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![PyPI Release](https://img.shields.io/pypi/v/docker-tidy.svg)](https://pypi.org/project/docker-tidy/)
[![GitHub contributors](https://img.shields.io/github/contributors/thegeeklab/docker-tidy)](https://github.com/thegeeklab/docker-tidy/graphs/contributors)
[![Source: GitHub](https://img.shields.io/badge/source-github-blue.svg?logo=github&logoColor=white)](https://github.com/thegeeklab/docker-tidy)
[![License: Apache-2.0](https://img.shields.io/github/license/thegeeklab/docker-tidy)](https://github.com/thegeeklab/docker-tidy/blob/main/LICENSE)
This project is a fork of [Yelp/docker-custodian](https://github.com/Yelp/docker-custodian). Keep docker hosts tidy.

View File

@ -2,21 +2,25 @@
title: Configuration
---
<!-- spellchecker-disable -->
{{< toc >}}
<!-- spellchecker-enable -->
*docker-tidy* comes with default settings which should be sufficient for most users to start, but you can adjust most settings to your needs.
_docker-tidy_ comes with default settings which should be sufficient for most users to start, but you can adjust most settings to your needs.
Changes can be made on different locations which will be processed in the following order (last wins):
* default config (build-in)
* global config file (path depends on your operating system)
* folder-based config file (.dockertidy.yml|.dockertidy.yaml|.dockertidy in current working dir)
* environment variables
* cli options
- default configuration (build-in)
- global configuration file (path depends on your operating system)
- directory based configuration file (.dockertidy.yml|.dockertidy.yaml|.dockertidy in current working directory)
- environment variables
- CLI options
## Default settings
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- spellchecker-disable -->
{{< highlight YAML "linenos=table" >}}
---
# don't do anything
@ -40,11 +44,15 @@ stop:
max_run_time:
prefix: []
{{< /highlight >}}
<!-- markdownlint-enable -->
<!-- spellchecker-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
## Environment Variables
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- spellchecker-disable -->
{{< highlight Shell "linenos=table" >}}
TIDY_CONFIG_FILE=
TIDY_DRY_RUN=False
@ -62,13 +70,17 @@ TIDY_STOP_MAX_RUN_TIME=
# comma-separated list
TIDY_STOP_PREFIX=
{{< /highlight >}}
<!-- markdownlint-enable -->
<!-- spellchecker-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
## CLI options
You can get all available cli options by running `docker-tidy --help`:
You can get all available CLI options by running `docker-tidy --help`:
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- spellchecker-disable -->
{{< highlight Shell "linenos=table" >}}
$ docker-tidy --help
usage: docker-tidy [-h] [--dry-run] [-t HTTP_TIMEOUT] [-v] [-q] [--version]
@ -90,4 +102,6 @@ optional arguments:
-q decrease log level
--version show program's version number and exit
{{< /highlight >}}
<!-- markdownlint-enable -->
<!-- spellchecker-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

View File

@ -2,41 +2,54 @@
title: Setup
---
<!-- prettier-ignore-start -->
<!-- spellchecker-disable -->
{{< toc >}}
<!-- spellchecker-enable -->
<!-- prettier-ignore-end -->
## Pip
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- spellchecker-disable -->
{{< highlight Shell "linenos=table" >}}
# From PyPI as unprivilegd user
# From PyPI as unprivileged user
$ pip install docker-tidy --user
# .. or as root
$ sudo pip install docker-tidy
# From Wheel file
$ pip install https://github.com/xoxys/docker-tidy/releases/download/v0.1.0/docker_tidy-0.1.0-py2.py3-none-any.whl
$ pip install https://github.com/thegeeklab/docker-tidy/releases/download/v0.1.0/docker_tidy-0.1.0-py2.py3-none-any.whl
{{< /highlight >}}
<!-- markdownlint-enable -->
<!-- spellchecker-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
## Docker
The default entrypoint is set to the `gc` subcommand and you have to overwrite it
if you want to use other subcommands like `stop`.
The default entrypoint is set to the `gc` sub-command and you have to overwrite it
if you want to use other sub-commands like `stop`.
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- spellchecker-disable -->
{{< highlight Shell "linenos=table" >}}
docker run \
-e TIDY_GC_MAX_CONTAINER_AGE="3 days ago" \
-e TIDY_GC_MAX_IMAGE_AGE="5 days ago" \
-v /var/run/docker.sock:/var/run/docker.sock \
xoxys/docker-tidy
thegeeklab/docker-tidy
{{< /highlight >}}
<!-- markdownlint-enable -->
<!-- spellchecker-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
{{< hint info >}}
**Info**\
Keep in mind, that you have to pass selinux labels (:Z or :z) to your mount option if you are working on selinux enabled systems.
{{< hint type=note >}}
Keep in mind, that you have to pass SELinux labels (:Z or :z) to your mount option if you are working on SELinux enabled systems.
{{< /hint >}}
<!-- markdownlint-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

View File

@ -2,20 +2,19 @@
title: Usage
---
<!-- spellchecker-disable -->
{{< toc >}}
<!-- spellchecker-enable -->
## Garbage Collector
Remove old docker containers and docker images.
`docker-tidy gc` will remove stopped containers and unused images that are older
than \"max age\". Running containers, and images which are used by a
container are never removed.
`docker-tidy gc` will remove stopped containers and unused images that are older than \"max age\". Running containers, and images which are used by a container are never removed.
Maximum age can be specificied with any format supported by
[dateparser](https://dateparser.readthedocs.io/en/latest/index.html#features).
Maximum age can be specified with any format supported by [dateparser](https://dateparser.readthedocs.io/en/latest/index.html#features).
__Example:__
**Example:**
```Shell
docker-tidy gc --max-container-age "3 days ago" --max-image-age "30 days ago"
@ -23,9 +22,7 @@ docker-tidy gc --max-container-age "3 days ago" --max-image-age "30 days ago"
### Prevent images from being removed
`docker-tidy gc` supports an image exclude list. If you have images that you\'d
like to keep around forever you can use the exclude list to prevent them
from being removed.
`docker-tidy gc` supports an image exclude list. If you have images that you\'d like to keep around forever you can use the exclude list to prevent them from being removed.
```Shell
--exclude-image
@ -34,9 +31,7 @@ from being removed.
### Prevent containers and associated images from being removed
`docker-tidy gc` also supports a container exclude list based on labels. If there
are stopped containers that you\'d like to keep, then you can check the
labels to prevent them from being removed.
`docker-tidy gc` also supports a container exclude list based on labels. If there are stopped containers that you\'d like to keep, then you can check the labels to prevent them from being removed.
```Shell
--exclude-container-label
@ -49,13 +44,11 @@ labels to prevent them from being removed.
Stop containers that have been running for too long.
`docker-tidy stop` will `docker stop` containers where the container name starts
with [\--prefix]{.title-ref} and/or it has been running for longer than
[\--max-run-time]{.title-ref}.
`docker-tidy stop` will `docker stop` containers where the container name starts with [\--prefix]{.title-ref} and/or it has been running for longer than [\--max-run-time]{.title-ref}.
If no prefix is set, __all__ containers matching the `max-run-time` will be stopped!
If no prefix is set, **all** containers matching the `max-run-time` will be stopped!
__Example:__
**Example:**
```Shell
docker-tidy stop --max-run-time "2 days ago" --prefix "projectprefix_"

View File

@ -1,10 +1,10 @@
---
more:
- name: Releases
ref: "https://github.com/xoxys/docker-tidy/releases"
ref: "https://github.com/thegeeklab/docker-tidy/releases"
external: true
icon: "download"
icon: "gdoc_download"
- name: "View Source"
ref: "https://github.com/xoxys/docker-tidy"
ref: "https://github.com/thegeeklab/docker-tidy"
external: true
icon: "github"
icon: "gdoc_github"

162
docs/static/socialmedia.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/static/socialmedia2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

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

1105
poetry.lock generated Normal file

File diff suppressed because it is too large Load Diff

149
pyproject.toml Normal file
View File

@ -0,0 +1,149 @@
[tool.poetry]
authors = ["Robert Kaussow <mail@thegeeklab.de>"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"License :: OSI Approved :: Apache Software License",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"Natural Language :: English",
"Operating System :: POSIX",
"Programming Language :: Python :: 3",
"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 :: System :: Systems Administration",
"Topic :: Utilities",
"Topic :: Software Development",
]
description = "Keep docker hosts tidy."
documentation = "https://docker-tidy.geekdocs.de/"
homepage = "https://docker-tidy.geekdocs.de/"
include = ["LICENSE"]
keywords = ["docker", "gc", "prune", "garbage"]
license = "Apache-2.0"
name = "docker-tidy"
packages = [{ include = "dockertidy" }]
readme = "README.md"
repository = "https://github.com/thegeeklab/docker-tidy/"
version = "0.0.0"
[tool.poetry.dependencies]
anyconfig = "0.14.0"
appdirs = "1.4.4"
certifi = "2024.2.2"
colorama = "0.4.6"
dateparser = "1.2.0"
docker = "7.1.0"
docker-pycreds = "0.4.0"
environs = "11.0.0"
idna = "3.7"
ipaddress = "1.0.23"
jsonschema = "4.22.0"
nested-lookup = "0.2.25"
pathspec = "0.12.1"
python = "^3.8.0"
python-dateutil = "2.9.0.post0"
python-json-logger = "2.0.7"
requests = "2.31.0"
"ruamel.yaml" = "0.18.6"
websocket_client = "1.8.0"
zipp = "3.19.1"
[tool.poetry.scripts]
docker-tidy = "dockertidy.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.pytest.ini_options]
addopts = "dockertidy --cov=dockertidy --cov-report=xml:coverage.xml --cov-report=term --no-cov-on-fail"
filterwarnings = [
"ignore::FutureWarning",
"ignore::DeprecationWarning",
"ignore:.*pep8.*:FutureWarning",
]
[tool.coverage.run]
omit = ["**/test/*"]
[build-system]
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"

12
renovate.json Normal file
View File

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

View File

@ -1,27 +0,0 @@
[metadata]
description-file = README.md
license_file = LICENSE
[bdist_wheel]
universal = 1
[isort]
default_section = THIRDPARTY
known_first_party = dockertidy
sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
force_single_line = true
line_length = 99
skip_glob = **/env/*,**/docs/*
[yapf]
based_on_style = google
column_limit = 99
dedent_closing_brackets = true
coalesce_brackets = true
split_before_logical_operator = true
[tool:pytest]
filterwarnings =
ignore::FutureWarning
ignore:.*collections.*:DeprecationWarning
ignore:.*pep8.*:FutureWarning

102
setup.py
View File

@ -1,102 +0,0 @@
#!/usr/bin/env python
"""Setup script for the package."""
import io
import os
import re
from setuptools import find_packages
from setuptools import setup
PACKAGE_NAME = "dockertidy"
def get_property(prop, project):
current_dir = os.path.dirname(os.path.realpath(__file__))
result = re.search(
r'{}\s*=\s*[\'"]([^\'"]*)[\'"]'.format(prop),
open(os.path.join(current_dir, project, "__init__.py")).read(),
)
return result.group(1)
def get_readme(filename="README.md"):
this = os.path.abspath(os.path.dirname(__file__))
with io.open(os.path.join(this, filename), encoding="utf-8") as f:
long_description = f.read()
return long_description
setup(
name=get_property("__project__", PACKAGE_NAME),
use_scm_version={
"version_scheme": "python-simplified-semver",
"local_scheme": "no-local-version",
"fallback_version": "unknown",
},
description="Keep docker hosts tidy",
keywords="docker gc prune garbage",
author=get_property("__author__", PACKAGE_NAME),
author_email=get_property("__email__", PACKAGE_NAME),
url="https://github.com/xoxys/docker-tidy",
license=get_property("__url__", PACKAGE_NAME),
long_description=get_readme(),
long_description_content_type="text/markdown",
packages=find_packages(exclude=["*.tests", "tests", "tests.*"]),
include_package_data=True,
zip_safe=False,
python_requires=">=3.5",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Natural Language :: English",
"Operating System :: POSIX",
"Programming Language :: Python :: 3 :: Only",
"Topic :: System :: Installation/Setup",
"Topic :: System :: Systems Administration",
"Topic :: Utilities",
"Topic :: Software Development",
"Topic :: Software Development :: Documentation",
],
install_requires=[
"anyconfig==0.9.10",
"appdirs==1.4.3",
"attrs==19.3.0",
"certifi==2019.11.28",
"chardet==3.0.4",
"colorama==0.4.3",
"dateparser==0.7.4",
"docker==4.2.0",
"docker-pycreds==0.4.0",
"environs==7.3.0",
"idna==2.9",
"importlib-metadata==1.5.0; python_version < '3.8'",
"ipaddress==1.0.23",
"jsonschema==3.2.0",
"marshmallow==3.5.1",
"nested-lookup==0.2.21",
"pathspec==0.7.0",
"pyrsistent==0.15.7",
"python-dateutil==2.8.1",
"python-dotenv==0.12.0",
"python-json-logger==0.1.11",
"pytz==2019.3",
"regex==2020.2.20",
"requests==2.23.0",
"ruamel.yaml==0.16.10",
"ruamel.yaml.clib==0.2.0; platform_python_implementation == 'CPython' and python_version < '3.9'",
"six==1.14.0",
"tzlocal==2.0.0",
"urllib3==1.25.8",
"websocket-client==0.57.0",
"zipp==1.2.0",
],
dependency_links=[],
setup_requires=["setuptools_scm"],
entry_points={"console_scripts": ["docker-tidy = dockertidy.__main__:main"]},
test_suite="tests",
)