Fabio Manganiello
a5b7e2b52e
[CI/CD] Fixed version format for the platypush-git
Arch package.
...
continuous-integration/drone/push Build is passing
The format should be `<MAJ>.<MIN>.<PATCH>.r<REVISION>.g<HEAD>`.
The `g` prefix was missing.
2024-01-19 01:06:47 +01:00
Fabio Manganiello
b097a4c1f4
Remove also the dist directory in the build-ui step before running npm run build
continuous-integration/drone/push Build is passing
2024-01-08 22:56:05 +01:00
Fabio Manganiello
1ff8cfd240
[CI/CD] A more robust logic to regenerate components.json.gz
.
...
continuous-integration/drone/push Build is passing
We shouldn't rely on `git diff`. Even when the underlying source code
hasn't changed, and the cache is dumped with `sort_keys=True`, some of
the generated snippets of docstrings may change, leading the CI/CD
pipeline to get stuck in a push loop.
We should instead look for changes to the plugins, backends, events and
schemas folders before and after the CI/CD trigger to infer if we need
to regenerate the file.
2024-01-06 23:45:51 +01:00
Fabio Manganiello
bb6f859262
Fix: typo in git commit argument.
continuous-integration/drone/push Build is passing
2024-01-06 22:43:38 +01:00
Fabio Manganiello
f85fc02cce
Fix: git should be installed earlier in the update-components-cache step.
2024-01-06 22:41:25 +01:00
Fabio Manganiello
6e1ab92298
New components cache management.
...
continuous-integration/drone/push Build is passing
The cache is no longer generated at runtime when the application runs -
which may take quite a while, especially on fresh installations.
A `components.json.gz` file is instead generated by the CI/CD process on
every commit to the main branch, and distributed with the package.
The application will read this file when the `inspect` plugin is first
initialized.
This also means that we can no longer cache the `install_cmds`, as they
change depending on the target OS. A new
`application.get_install_commands` action has now been made available to
the UI, so it can get the correct installation commands at runtime.
2024-01-06 22:21:59 +01:00
Fabio Manganiello
e3ea315276
[CI/CD] Create a .skipci file on build-ui
.
...
If new commits are pushed by the step then another pipeline will be
triggered. We shouldn't proceed with the following steps.
2023-12-30 00:04:35 +01:00
Fabio Manganiello
6673bb4c19
[CI/CD] Always copy new apt repo root.
continuous-integration/drone/push Build is passing
2023-12-26 05:53:54 +01:00
Fabio Manganiello
581fe6101f
[CI/CD] Debug pipeline by printing content of Packages file.
continuous-integration/drone/push Build is passing
2023-12-26 05:45:34 +01:00
Fabio Manganiello
4b4a8c7aaa
[CI/CD] Another fix.
continuous-integration/drone/push Build is passing
2023-12-26 05:40:56 +01:00
Fabio Manganiello
a50ea8dd8e
[CI/CD] Change order of deb cleanup commands.
continuous-integration/drone/push Build was killed
2023-12-26 05:39:25 +01:00
Fabio Manganiello
15c1ac3823
[CI/CD] Clean up any existing *.deb packages before uploading new one.
continuous-integration/drone/push Build is passing
2023-12-26 05:36:29 +01:00
Fabio Manganiello
f3f1e96ad9
[CI/CD] Attempt to fix empty branch_dir
.
continuous-integration/drone/push Build is passing
2023-12-26 05:21:46 +01:00
Fabio Manganiello
89757d4366
[CI/CD] A more robust way of detecting the presence of a main version package.
continuous-integration/drone/push Build is passing
2023-12-26 05:08:21 +01:00
Fabio Manganiello
995077eea7
[CI/CD] Fixed off-by-one version number issue.
2023-12-26 04:37:05 +01:00
Fabio Manganiello
e8a337752a
[CI/CD] Print names of generated deb packages.
continuous-integration/drone/push Build is passing
2023-12-25 15:14:18 +01:00
Fabio Manganiello
2e1ed9b176
pip on Alpine now also requires --break-system-packages
continuous-integration/drone/push Build was killed
2023-12-18 13:50:02 +01:00
Fabio Manganiello
6b68fa607b
(Possible) fix for multi-line breaks in apt/index.txt.
continuous-integration/drone/push Build is passing
2023-11-18 15:37:17 +01:00
Fabio Manganiello
c055edab8f
Moved all list files generation logic within the update-apt-repo step.
continuous-integration/drone/push Build is passing
2023-11-18 15:33:22 +01:00
Fabio Manganiello
e5ca96e004
Fixed Drone CI command indentation.
continuous-integration/drone/push Build is passing
2023-11-18 15:27:34 +01:00
Fabio Manganiello
dcf9561ad1
[CI/CD] Regenerate the Debian repo list files when the repo is rebuilt.
2023-11-18 14:16:49 +01:00
Fabio Manganiello
acf0e0f34f
[CI/CD] Moved the chmod commands outside of the if.
2023-10-23 19:46:07 +00:00
Fabio Manganiello
f9ce5e3cd2
[CI/CD] chmod should always be the final step in update-apt-repo
.
2023-10-23 19:38:51 +00:00
Fabio Manganiello
532427eeb5
[CI/CD] The chmod section should be on the update-apt-repo
step.
2023-10-23 19:30:26 +00:00
Fabio Manganiello
4afd1b68d0
[Fix] s/chown/chmod/g typo fix
2023-10-23 19:26:21 +00:00
Fabio Manganiello
8c0c551aa5
[CI/CD] Ensure that public repo dirs are always readable by everyone.
2023-10-23 19:23:23 +00:00
Fabio Manganiello
ea88ab7f6c
[Docs] Clone and build wiki pages on docs.platypush.tech.
continuous-integration/drone/push Build is passing
2023-10-21 22:54:49 +02:00
Fabio Manganiello
0eae6fd48d
Misc dependencies and mock fixes.
...
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
.
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.
...
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.
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.
...
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.
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
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
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
.
...
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.
...
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.
...
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.
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.
...
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.
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.
...
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.
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.
...
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