Commit graph

85 commits

Author SHA1 Message Date
Fabio Manganiello 1732bfa82c
Fixed _default_docstring regex. 2023-09-30 14:36:08 +02:00
Fabio Manganiello acb40bd5fd
The test step should also install all dependencies via apk add. 2023-09-30 13:36:28 +02:00
Fabio Manganiello d030e2b8c7
Install all the deps via apk add on Alpine in the build-docs step. 2023-09-30 13:29:10 +02:00
Fabio Manganiello c3337ccc6c
[#311] Docs deps autogen sphinx plugin.
Added an `add_dependencies` plugin to the Sphinx build process that
parses the manifest files of the scanned backends and plugins and
automatically generates the documentation for the required dependencies
and triggered events.

This means that those dependencies are no longer required to be listed
in the docstring of the class itself.

Also in this commit:

- Black/LINT for some integrations that hadn't been touched in a long
  time.

- Deleted some leftovers from previous refactors (deprecated
  `backend.mqtt`, `backend.zwave.mqtt`, `backend.http.request.rss`).

- Deleted deprecated `inotify` backend - replaced by `file.monitor` (see
  #289).
2023-09-24 17:00:08 +02:00
Fabio Manganiello 27340f2889
Fixed a variable name in the Drone RPM step. 2023-09-23 16:48:49 +02:00
Fabio Manganiello 33b26fa8dd
fuse doesn't like inter-device move operations.
So the Drone pipeline has to resort to the cp+rm dance instead.
2023-09-23 16:42:15 +02:00
Fabio Manganiello bbd8e939e6
Fixed a multiline expression 2023-09-23 16:37:52 +02:00
Fabio Manganiello f6dea0b4d4
Added RPM update step to Drone CI pipeline.
Closes: #316.
2023-09-23 16:21:00 +02:00
Fabio Manganiello 2b981f6b68
Added python-croniter dependency to Fedora.
Plus, some clean up of the variables on .drone.yaml.
2023-09-23 16:20:28 +02:00
Fabio Manganiello 8925405788
Added | head -1 to git log commands that fetch the current head.
The reason is that `git log HEAD...HEAD~1` will return two or more
commits if we're dealing with merge commits, so we must be explicit that
we only need the latest one.
2023-09-20 23:42:34 +02:00
Fabio Manganiello 9926aefed0
Added curl dependency to the deb pkg build steps. 2023-09-20 01:48:35 +02:00
Fabio Manganiello 3931a3cbf2
Added main deb release logic. 2023-09-20 01:42:25 +02:00
Fabio Manganiello af4a586014
Added Release files signing logic to update-apt-repo. 2023-09-20 00:03:49 +02:00
Fabio Manganiello e3fb0eeb11
Fixed typo 2023-09-19 14:34:02 +02:00
Fabio Manganiello f6517059f6
Generate hashes for all the architectures in the Release files. 2023-09-19 14:29:34 +02:00
Fabio Manganiello eb398f24d7
Removed Version reference from Release files. 2023-09-19 14:22:36 +02:00
Fabio Manganiello 35c2b69ece
Added all supported architectures to generated Release files. 2023-09-19 14:13:31 +02:00
Fabio Manganiello 87cf90eb6b
Changed format of the Debian git versions.
Comply with <maj>.<min>.<patch>-<rel> versioning convention.
2023-09-19 13:21:28 +02:00
Fabio Manganiello 9150b2cae5
Refactored logic to rewrite the Release file. 2023-09-19 13:01:06 +02:00
Fabio Manganiello e0da41e6ff
Fixed upload path for the deb packages. 2023-09-19 11:52:47 +02:00
Fabio Manganiello 945fa9bd74
Added logic to regenerate the Packages and Release files from CI/CD. 2023-09-19 11:46:04 +02:00
Fabio Manganiello 76d4dcfcf8
Replaced occurrence of let with arithmetic expansion.
drone-ci uses /bin/sh instead of bash, so let is not available.
2023-09-19 01:23:24 +02:00
Fabio Manganiello 92d7ce8305
(Possible?) fix for a weird bash syntax error. 2023-09-19 01:16:35 +02:00
Fabio Manganiello 739777271d
(Forgot an apt update) 2023-09-19 01:05:38 +02:00
Fabio Manganiello 2b9d8f1a55
Added AWS_DEFAULT_REGION variable 2023-09-19 01:02:09 +02:00
Fabio Manganiello b566d87dac
Added retention logic to the packages stored on the apt repo. 2023-09-19 00:36:16 +02:00
Fabio Manganiello 6af02804d5
Parametrized the Debian build steps. 2023-09-18 21:31:42 +02:00
Fabio Manganiello 1f2e5b1e7a
update-debian-*-packages steps can now go in parallel.
We should copy the source directory at the beginning of each step into a
temporary directory, so the build steps can go in parallel without
conflicts while accessing the same files.
2023-09-18 21:15:48 +02:00
Fabio Manganiello 9aad1a2c58
S3 directory structure now compatible with that of an apt repo. 2023-09-18 20:59:48 +02:00
Fabio Manganiello 2676d7babe A more resilient way of renaming site-packages to dist-packages. 2023-09-18 15:49:11 +02:00
Fabio Manganiello d969119f60 Fixed sed expression 2023-09-18 15:39:05 +02:00
Fabio Manganiello 7a85f13f23 Workaround to ensure that the pkg is installed under dist-packages. 2023-09-18 15:31:40 +02:00
Fabio Manganiello a5a780060b Install everything under <prefix>/usr when building the .deb pkg. 2023-09-18 15:23:53 +02:00
Fabio Manganiello b8ba9c36b6 Do a barrel roll to make sure that the installed package sticks to Debian's naming conventions. 2023-09-18 15:08:03 +02:00
Fabio Manganiello 67d45997ed Fixed Python bin path name for Debian builds. 2023-09-18 14:53:21 +02:00
Fabio Manganiello 4bb3bcff8b (We actually do need git here) 2023-09-18 14:46:30 +02:00
Fabio Manganiello 9576141a3f We don't need git commands when building .deb pkgs. 2023-09-18 14:43:59 +02:00
Fabio Manganiello 55d4523ea3 The latest version of pip wants --break-system-packages in Docker. 2023-09-18 14:38:04 +02:00
Fabio Manganiello e16cfdfb44 Use vanilla Debian images to build .deb.
Instead of `python:<python_ver>-<debian_ver>` images.

The official Python Debian images install the interpreter under
/usr/local/bin/python, while standard Debian distros do under
/usr/bin/python3, leading to package incompatibility.

Also, using the vanilla Debian images makes sure that we are always
using the version of Python installed on that Debian version.
2023-09-18 14:34:21 +02:00
Fabio Manganiello 3acbde38c1 Run the Debian package updates sequentially to prevent builds to step on one another's toes 2023-09-18 14:15:29 +02:00
Fabio Manganiello 10bf617261 main/ should have a trailing slash. 2023-09-18 13:40:17 +02:00
Fabio Manganiello ed9548a476 Release .deb packages both for stable and oldstable. 2023-09-18 13:36:59 +02:00
Fabio Manganiello 9702612fd5 Added s3 region settings and changed destination bucket. 2023-09-18 13:20:14 +02:00
Fabio Manganiello bfb4b78172
The target deb name has _all.deb prefix. 2023-09-18 12:05:27 +02:00
Fabio Manganiello 85febac2ae
Fixed the location of the target .deb file in the Drone CI script. 2023-09-18 12:03:16 +02:00
Fabio Manganiello 868bec8ba5
One more fix for variable names in Drone CI script. 2023-09-18 11:59:03 +02:00
Fabio Manganiello 82e3f317bc
Drone CI doesn't support ${} syntax for bash variables. 2023-09-18 11:54:32 +02:00
Fabio Manganiello 83ffa9f4a8
Added missing AWS_SECRET_ACCESS_KEY configuration secret. 2023-09-18 11:47:36 +02:00
Fabio Manganiello b955a1490d
"Depends" requires the dependencies to be comma-separated. 2023-09-18 11:44:59 +02:00
Fabio Manganiello 73609c7f0b
Make sure that the __all/DEBIAN directory exists. 2023-09-18 11:39:34 +02:00