Commit graph

92 commits

Author SHA1 Message Date
Fabio Manganiello 3e00a05301
[CI/CD] Restored awscli process for update-debian-oldstable-packages.
All checks were successful
continuous-integration/drone/push Build is passing
The `s3fs` flow seems to have problems on the Debian oldstable image.
2023-10-14 15:35:11 +02:00
Fabio Manganiello d4c790925b
[CI/CD] Changed order of the S3 bucket mount step in deb builds.
Some checks failed
continuous-integration/drone/push Build is failing
It seems that s3fs may fail if two clients try to mount the same
resource with the same token at the same time.
2023-10-14 15:26:07 +02:00
Fabio Manganiello 1649808efc
[CI/CD] Do all the apt repo operations on a temporary folder.
Some checks failed
continuous-integration/drone/push Build is failing
`update-apt-repo` should first copy the existing repo root on the S3
bucket to a local temporary directory, so we don't do expensive (and
very slow) file operations on the s3fs filesystem.

After everything is done, we should do a current->old, tmp->current, rm old
dance to update the repo on S3.
2023-10-14 15:16:41 +02:00
Fabio Manganiello 465ff87f15
[CI/CD] Replaced awscli with s3fs. 2023-10-14 15:16:40 +02:00
Fabio Manganiello 8ef67012ed [Drone CI] git push in the build-ui step needs a -f flag. 2023-10-12 00:57:31 +00:00
Fabio Manganiello fd7037d048
Added git checkout and rebase commands to sync-stable-branch step.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-01 23:31:46 +02:00
Fabio Manganiello 98b51362e9
[#317] Added Drone step to sync the stable branch on tag.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #317
2023-10-01 23:17:53 +02:00
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.
Some checks failed
continuous-integration/drone/push Build is failing
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.
All checks were successful
continuous-integration/drone/push Build is passing
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.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-23 16:48:49 +02:00
Fabio Manganiello 33b26fa8dd
fuse doesn't like inter-device move operations.
Some checks failed
continuous-integration/drone/push Build is failing
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.
All checks were successful
continuous-integration/drone/push Build is passing
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.
All checks were successful
continuous-integration/drone/push Build is passing
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.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 01:48:35 +02:00
Fabio Manganiello 3931a3cbf2
Added main deb release logic.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 01:42:25 +02:00
Fabio Manganiello af4a586014
Added Release files signing logic to update-apt-repo.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 00:03:49 +02:00
Fabio Manganiello e3fb0eeb11
Fixed typo
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 14:34:02 +02:00
Fabio Manganiello f6517059f6
Generate hashes for all the architectures in the Release files.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 14:29:34 +02:00
Fabio Manganiello eb398f24d7
Removed Version reference from Release files.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 14:22:36 +02:00
Fabio Manganiello 35c2b69ece
Added all supported architectures to generated Release files.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 14:13:31 +02:00
Fabio Manganiello 87cf90eb6b
Changed format of the Debian git versions.
All checks were successful
continuous-integration/drone/push Build is passing
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.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 13:01:06 +02:00
Fabio Manganiello e0da41e6ff
Fixed upload path for the deb packages.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 11:52:47 +02:00
Fabio Manganiello 945fa9bd74
Added logic to regenerate the Packages and Release files from CI/CD.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-19 11:46:04 +02:00
Fabio Manganiello 76d4dcfcf8
Replaced occurrence of let with arithmetic expansion.
All checks were successful
continuous-integration/drone/push Build is passing
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.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-19 01:16:35 +02:00
Fabio Manganiello 739777271d
(Forgot an apt update)
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-19 01:05:38 +02:00
Fabio Manganiello 2b9d8f1a55
Added AWS_DEFAULT_REGION variable
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-19 01:02:09 +02:00
Fabio Manganiello b566d87dac
Added retention logic to the packages stored on the apt repo.
Some checks failed
continuous-integration/drone/push Build is failing
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.
All checks were successful
continuous-integration/drone/push Build is passing
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.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 20:59:48 +02:00
Fabio Manganiello 2676d7babe A more resilient way of renaming site-packages to dist-packages.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 15:49:11 +02:00
Fabio Manganiello d969119f60 Fixed sed expression
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-18 15:39:05 +02:00
Fabio Manganiello 7a85f13f23 Workaround to ensure that the pkg is installed under dist-packages.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-18 15:31:40 +02:00
Fabio Manganiello a5a780060b Install everything under <prefix>/usr when building the .deb pkg.
All checks were successful
continuous-integration/drone/push Build is passing
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.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-18 15:08:03 +02:00
Fabio Manganiello 67d45997ed Fixed Python bin path name for Debian builds.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 14:53:21 +02:00
Fabio Manganiello 4bb3bcff8b (We actually do need git here)
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-18 14:46:30 +02:00
Fabio Manganiello 9576141a3f We don't need git commands when building .deb pkgs.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-18 14:43:59 +02:00
Fabio Manganiello 55d4523ea3 The latest version of pip wants --break-system-packages in Docker.
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-18 14:38:04 +02:00
Fabio Manganiello e16cfdfb44 Use vanilla Debian images to build .deb.
Some checks failed
continuous-integration/drone/push Build is failing
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 14:15:29 +02:00
Fabio Manganiello 10bf617261 main/ should have a trailing slash.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 13:40:17 +02:00
Fabio Manganiello ed9548a476 Release .deb packages both for stable and oldstable.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 13:36:59 +02:00
Fabio Manganiello 9702612fd5 Added s3 region settings and changed destination bucket.
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-18 13:20:14 +02:00