Commit graph

102 commits

Author SHA1 Message Date
Fabio Manganiello ea88ab7f6c
[Docs] Clone and build wiki pages on docs.platypush.tech.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-21 22:54:49 +02:00
Fabio Manganiello 0eae6fd48d
Misc dependencies and mock fixes.
All checks were successful
continuous-integration/drone/push Build is passing
- `iputils` should be an explicit system dependency for `ping`.
  Some minimal systems (like some Docker images) may not have the `ping`
  command installed out of the box.

- `hid` and `marshmallow_dataclass` should be among the auto-mocked
  modules.
2023-10-20 01:02:35 +02:00
Fabio Manganiello 1e2ffc121f
[CI/CD] Added yum install platypush-git line to index.txt.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-19 23:56:48 +02:00
Fabio Manganiello a915dd1e1f
[CI/CD] Regenerate the full apt and rpm repos in Drone pipeline.
All checks were successful
continuous-integration/drone/push Build is passing
This also includes:

- index.txt
- pubkey.txt
- RPM repo definition
2023-10-19 23:46:36 +02:00
Fabio Manganiello 5d3c7679b6
[Fix] Added mistakenly removed PKG_NAME variable.
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-19 21:54:03 +02:00
Fabio Manganiello 6fb432d7bb
[CI/CD] S3 bucket replaced with a local folder.
Some checks failed
continuous-integration/drone/push Build is failing
Managing concurrent copies over s3fs through CI/CD is a hassle.
Input/output errors abound and the steps are also slow.
2023-10-19 21:48:59 +02:00
Fabio Manganiello 1f1eadf962
[CI/CD] Added -o nomixupload option to s3fs.
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-19 20:57:25 +02:00
Fabio Manganiello 2197ce7c78
Revert "[CI/CD] Trying to prevent race conditions on S3 access from Drone CI automation" 2023-10-19 20:11:42 +02:00
Fabio Manganiello 111cb5e62a
[CI/CD] Trying to prevent race conditions on S3 access from Drone CI automation
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-19 20:06:51 +02:00
Fabio Manganiello ff02d2a3c8
[CI/CD] Trying to prevent race conditions on S3 access from Drone CI automation
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2023-10-19 20:05:51 +02:00
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