Commit Graph

3542 Commits

Author SHA1 Message Date
Fabio Manganiello c3337ccc6c
[#311] Docs deps autogen sphinx plugin.
continuous-integration/drone/push Build is passing Details
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.
continuous-integration/drone/push Build is passing Details
2023-09-23 16:48:49 +02:00
Fabio Manganiello 33b26fa8dd
fuse doesn't like inter-device move operations.
continuous-integration/drone/push Build is failing Details
So the Drone pipeline has to resort to the cp+rm dance instead.
2023-09-23 16:42:15 +02:00
Fabio Manganiello b9e68d69a9
Merge branch '316/rpm-support'
continuous-integration/drone/push Build is failing Details
2023-09-23 16:38:20 +02:00
Fabio Manganiello bbd8e939e6
Fixed a multiline expression 2023-09-23 16:37:52 +02:00
Fabio Manganiello fe5158d0ca Merge pull request '[#316] RPM support' (#328) from 316/rpm-support into master
continuous-integration/drone/push Build is failing Details
Reviewed-on: #328
2023-09-23 16:25:34 +02:00
Fabio Manganiello ad2ee75c99
Updated docs
continuous-integration/drone/push Build is passing Details
2023-09-23 16:24:18 +02:00
Fabio Manganiello 059f7a4b11 Merge branch 'master' into 316/rpm-support
continuous-integration/drone/push Build is passing Details
2023-09-23 16:21:48 +02:00
Fabio Manganiello f6dea0b4d4
Added RPM update step to Drone CI pipeline.
continuous-integration/drone/push Build is passing Details
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 b797add90d
Modify shebang header for Mercury JS script.
The RPM build process wants an absolute path.
2023-09-23 16:16:13 +02:00
Fabio Manganiello a872d6f554
Added Fedora to the available Docker base images. 2023-09-22 19:02:13 +02:00
Fabio Manganiello 79e24461cb
Coalesce to empty list if `zigbee.mqtt.devices` returns null.
continuous-integration/drone/push Build is passing Details
2023-09-22 17:00:53 +02:00
Fabio Manganiello 55965e962c
Store the Philips Hue bridge configuration under our workdir.
By default, the `phue` library will store the file containing the token
and the bridge configuration under `~/.python_hue`.

That's outside of our application folder, and it can't easily be copied
around or added to Docker volumes.

We should instead have it under `<WORKDIR>/light.hue/config.json`, in
line with what the other plugins do, and if `~/.python_hue` is available
but `<WORKDIR>/light.hue/config.json` isn't then we should copy the
legacy file to the new one.
2023-09-22 16:58:44 +02:00
Fabio Manganiello 761f2768cb
[#316] Added RPM dependencies.
continuous-integration/drone/push Build is passing Details
2023-09-21 23:20:06 +02:00
Fabio Manganiello 453b6becae
FIX: We shouldn't expand `cfgfile` if it's empty.
continuous-integration/drone/push Build is passing Details
2023-09-21 01:18:15 +02:00
Fabio Manganiello bdbe263905
Added croniter to system dependencies.
The python-croniter package has now been added both to Arch's and
Debian's official repos, so we can install it via pacman or apt rather
than pip.
2023-09-21 01:07:49 +02:00
Fabio Manganiello dfc876c411 Merge pull request '[#285] Removed old covid19 backend' (#327) from 285/remove-old-covid19-backend into master
continuous-integration/drone/push Build is passing Details
Reviewed-on: #327
2023-09-21 00:28:20 +02:00
Fabio Manganiello 648b4224bb
[#285] Removed old covid19 backend.
continuous-integration/drone/push Build is passing Details
Those endpoints aren't even working anymore.

Closes: #285
2023-09-21 00:26:35 +02:00
Fabio Manganiello 4aa23d9309 Merge pull request '[#288] Removed legacy `http.poll` backend' (#326) from 288/remove-http-poll-backend into master
continuous-integration/drone/push Build is passing Details
Reviewed-on: #326
2023-09-20 23:55:39 +02:00
Fabio Manganiello 5d6d37785e
[#288] Removed legacy `http.poll` backend.
continuous-integration/drone/push Build is passing Details
Closes: #288
2023-09-20 23:53:12 +02:00
Fabio Manganiello 18375dde40 Merge pull request '[#291] Removed deprecated `light.hue` backend' (#325) from 291/remove-light-hue-backend into master
continuous-integration/drone/push Build is passing Details
Reviewed-on: #325
2023-09-20 23:49:02 +02:00
Fabio Manganiello 7ba9a8930a
[#291] Removed deprecated `light.hue` backend.
continuous-integration/drone/push Build is passing Details
Closes: #291
2023-09-20 23:46:40 +02:00
Fabio Manganiello 8925405788
Added `| head -1` to `git log` commands that fetch the current head.
continuous-integration/drone/push Build is passing Details
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 4fa3d7b311 Merge pull request '[#306] Removed Travis CI integration' (#324) from 306/remove-travisci into master
continuous-integration/drone/push Build is failing Details
Reviewed-on: #324
2023-09-20 23:35:38 +02:00
Fabio Manganiello a6efaad26d
[#306] Removed Travis CI integration.
continuous-integration/drone/push Build is passing Details
I've tried my best to keep it around, but the endpoints seem to be
broken, they no longer have a link to their API v3 documentation, and
the API Explorer that was supposed to be in the dashboard is gone.
2023-09-20 23:31:58 +02:00
Fabio Manganiello 9926aefed0
Added curl dependency to the deb pkg build steps.
continuous-integration/drone/push Build is passing Details
2023-09-20 01:48:35 +02:00
Fabio Manganiello 3931a3cbf2
Added main deb release logic.
continuous-integration/drone/push Build is passing Details
2023-09-20 01:42:25 +02:00
Fabio Manganiello af4a586014
Added Release files signing logic to update-apt-repo.
continuous-integration/drone/push Build is passing Details
2023-09-20 00:03:49 +02:00
Fabio Manganiello e3fb0eeb11
Fixed typo
continuous-integration/drone/push Build is passing Details
2023-09-19 14:34:02 +02:00
Fabio Manganiello f6517059f6
Generate hashes for all the architectures in the Release files.
continuous-integration/drone/push Build is passing Details
2023-09-19 14:29:34 +02:00
Fabio Manganiello eb398f24d7
Removed Version reference from Release files.
continuous-integration/drone/push Build is passing Details
2023-09-19 14:22:36 +02:00
Fabio Manganiello 35c2b69ece
Added all supported architectures to generated Release files.
continuous-integration/drone/push Build is passing Details
2023-09-19 14:13:31 +02:00
Fabio Manganiello 87cf90eb6b
Changed format of the Debian git versions.
continuous-integration/drone/push Build is passing Details
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.
continuous-integration/drone/push Build is passing Details
2023-09-19 13:01:06 +02:00
Fabio Manganiello e0da41e6ff
Fixed upload path for the deb packages.
continuous-integration/drone/push Build is passing Details
2023-09-19 11:52:47 +02:00
Fabio Manganiello 945fa9bd74
Added logic to regenerate the Packages and Release files from CI/CD.
continuous-integration/drone/push Build is passing Details
2023-09-19 11:46:04 +02:00
Fabio Manganiello 76d4dcfcf8
Replaced occurrence of `let` with arithmetic expansion.
continuous-integration/drone/push Build is passing Details
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.
continuous-integration/drone/push Build is failing Details
2023-09-19 01:16:35 +02:00
Fabio Manganiello 739777271d
(Forgot an apt update)
continuous-integration/drone/push Build is failing Details
2023-09-19 01:05:38 +02:00
Fabio Manganiello 2b9d8f1a55
Added AWS_DEFAULT_REGION variable
continuous-integration/drone/push Build is failing Details
2023-09-19 01:02:09 +02:00
Fabio Manganiello b566d87dac
Added retention logic to the packages stored on the apt repo.
continuous-integration/drone/push Build is failing Details
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.
continuous-integration/drone/push Build is passing Details
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.
continuous-integration/drone/push Build is passing Details
2023-09-18 20:59:48 +02:00
Fabio Manganiello 2676d7babe A more resilient way of renaming site-packages to dist-packages.
continuous-integration/drone/push Build is passing Details
2023-09-18 15:49:11 +02:00
Fabio Manganiello d969119f60 Fixed sed expression
continuous-integration/drone/push Build is failing Details
2023-09-18 15:39:05 +02:00
Fabio Manganiello 7a85f13f23 Workaround to ensure that the pkg is installed under dist-packages.
continuous-integration/drone/push Build is failing Details
2023-09-18 15:31:40 +02:00
Fabio Manganiello a5a780060b Install everything under <prefix>/usr when building the .deb pkg.
continuous-integration/drone/push Build is passing Details
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.
continuous-integration/drone/push Build is failing Details
2023-09-18 15:08:03 +02:00