Commit graph

134 commits

Author SHA1 Message Date
acb40bd5fd
The test step should also install all dependencies via apk add. 2023-09-30 13:36:28 +02:00
d030e2b8c7
Install all the deps via apk add on Alpine in the build-docs step. 2023-09-30 13:29:10 +02:00
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
27340f2889
Fixed a variable name in the Drone RPM step. 2023-09-23 16:48:49 +02:00
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
bbd8e939e6
Fixed a multiline expression 2023-09-23 16:37:52 +02:00
f6dea0b4d4
Added RPM update step to Drone CI pipeline.
Closes: #316.
2023-09-23 16:21:00 +02:00
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
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
9926aefed0
Added curl dependency to the deb pkg build steps. 2023-09-20 01:48:35 +02:00
3931a3cbf2
Added main deb release logic. 2023-09-20 01:42:25 +02:00
af4a586014
Added Release files signing logic to update-apt-repo. 2023-09-20 00:03:49 +02:00
e3fb0eeb11
Fixed typo 2023-09-19 14:34:02 +02:00
f6517059f6
Generate hashes for all the architectures in the Release files. 2023-09-19 14:29:34 +02:00
eb398f24d7
Removed Version reference from Release files. 2023-09-19 14:22:36 +02:00
35c2b69ece
Added all supported architectures to generated Release files. 2023-09-19 14:13:31 +02:00
87cf90eb6b
Changed format of the Debian git versions.
Comply with <maj>.<min>.<patch>-<rel> versioning convention.
2023-09-19 13:21:28 +02:00
9150b2cae5
Refactored logic to rewrite the Release file. 2023-09-19 13:01:06 +02:00
e0da41e6ff
Fixed upload path for the deb packages. 2023-09-19 11:52:47 +02:00
945fa9bd74
Added logic to regenerate the Packages and Release files from CI/CD. 2023-09-19 11:46:04 +02:00
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
92d7ce8305
(Possible?) fix for a weird bash syntax error. 2023-09-19 01:16:35 +02:00
739777271d
(Forgot an apt update) 2023-09-19 01:05:38 +02:00
2b9d8f1a55
Added AWS_DEFAULT_REGION variable 2023-09-19 01:02:09 +02:00
b566d87dac
Added retention logic to the packages stored on the apt repo. 2023-09-19 00:36:16 +02:00
6af02804d5
Parametrized the Debian build steps. 2023-09-18 21:31:42 +02:00
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
9aad1a2c58
S3 directory structure now compatible with that of an apt repo. 2023-09-18 20:59:48 +02:00
2676d7babe A more resilient way of renaming site-packages to dist-packages. 2023-09-18 15:49:11 +02:00
d969119f60 Fixed sed expression 2023-09-18 15:39:05 +02:00
7a85f13f23 Workaround to ensure that the pkg is installed under dist-packages. 2023-09-18 15:31:40 +02:00
a5a780060b Install everything under <prefix>/usr when building the .deb pkg. 2023-09-18 15:23:53 +02:00
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
67d45997ed Fixed Python bin path name for Debian builds. 2023-09-18 14:53:21 +02:00
4bb3bcff8b (We actually do need git here) 2023-09-18 14:46:30 +02:00
9576141a3f We don't need git commands when building .deb pkgs. 2023-09-18 14:43:59 +02:00
55d4523ea3 The latest version of pip wants --break-system-packages in Docker. 2023-09-18 14:38:04 +02:00
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
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
10bf617261 main/ should have a trailing slash. 2023-09-18 13:40:17 +02:00
ed9548a476 Release .deb packages both for stable and oldstable. 2023-09-18 13:36:59 +02:00
9702612fd5 Added s3 region settings and changed destination bucket. 2023-09-18 13:20:14 +02:00
bfb4b78172
The target deb name has _all.deb prefix. 2023-09-18 12:05:27 +02:00
85febac2ae
Fixed the location of the target .deb file in the Drone CI script. 2023-09-18 12:03:16 +02:00
868bec8ba5
One more fix for variable names in Drone CI script. 2023-09-18 11:59:03 +02:00
82e3f317bc
Drone CI doesn't support ${} syntax for bash variables. 2023-09-18 11:54:32 +02:00
83ffa9f4a8
Added missing AWS_SECRET_ACCESS_KEY configuration secret. 2023-09-18 11:47:36 +02:00
b955a1490d
"Depends" requires the dependencies to be comma-separated. 2023-09-18 11:44:59 +02:00
73609c7f0b
Make sure that the __all/DEBIAN directory exists. 2023-09-18 11:39:34 +02:00
295e202fc9
dpkg wants the control file under the __all directory. 2023-09-18 11:37:39 +02:00
bc519d4b09
EOF required in the cat command. 2023-09-18 11:34:57 +02:00
949e5de070
Need to add . to pip install. 2023-09-18 11:34:00 +02:00
9bcadcb3c9
Use pip install --prefix to prepare the Debian package. 2023-09-18 11:32:21 +02:00
2c74868315
[#323] Added logic to create deb package 2023-09-18 11:00:46 +02:00
ecba2e49ac
Do not remove the existing webapp's dist folder in build-ui. 2023-09-17 12:56:54 +02:00
6ee064cb89
Always rebase on pull in .drone.yml. 2023-09-04 02:53:20 +02:00
011f6d3a66
(Try and) pull the current branch from Github instead of master. 2023-08-31 02:32:42 +02:00
86ce2647e4
Removed the -f flag from git push. 2023-08-31 02:23:13 +02:00
867198a092
Try and force push the commits to Github. 2023-08-31 02:22:01 +02:00
0e02e617b3
Skip checksum in platypush-git AUR package.
The master branch can move fast and easily get out of sync with the
released version.
2023-08-31 02:15:58 +02:00
ee955882bf
Always rebase when pulling from the Github remote. 2023-08-31 02:11:50 +02:00
fef6513cc8
Alpine Linux requires the linux-headers package to build psutil. 2023-08-15 11:40:02 +02:00
435cbe7b1f
Keep track of the original .git/config path before running cd. 2023-08-07 00:45:51 +02:00
8b245a1618
Backup/restore the git configuration in the build-ui step.
This is to ensure that following steps that depend on the default
username and email (e.g. the AUR release step) won't fail because of
mismatching identities.
2023-08-07 00:19:02 +02:00
39fb3026bf
Prevent push loops in build-ui pipeline.
The pipeline should check if the latest commit is an automated UI build
commit before proceeding with a new build.

We need this check in place to prevent pipelines triggered by a push in
another pipeline that end up triggering other pipelines until a manual
cancel.
2023-08-07 00:10:46 +02:00
2005bc9f62
Always run notify-build-status - including on failure. 2023-08-07 00:05:13 +02:00
6453b7d391
Explicitly re-add the repo SSH origin and push.
Committing alone doesn't seem to suffice in the build-ui Drone CI step.
2023-08-06 23:40:35 +02:00
51f907e1b5
Make sure that neither dist nor node_modules are present before building the UI. 2023-08-06 23:19:43 +02:00
d92da5fe6f
Simplified Drone CI DAG.
Removed redundant `depends_on` steps in the pipeline.
2023-08-06 22:36:04 +02:00
2d999c471a
Removed git push from build-ui pipeline.
If my understanding of Drone CI pipelines is correct, the steps are
executed before the push, so any new commits should be pushed too.
2023-08-06 22:31:05 +02:00
a739303041
Added build-ui step to the Drone pipeline. 2023-08-06 22:21:22 +02:00
d3fce6d922
Added notify-build-status step to Drone pipeline. 2023-08-06 11:14:12 +02:00
ed192faab2
Added notify-release step to Drone pipeline. 2023-08-06 11:08:01 +02:00
7a15c7c749
Added update-pip-package step in Drone pipeline. 2023-08-06 10:49:44 +02:00
063697c824
Remote and branch should be specified in git pull --tags 2023-08-06 00:57:00 +02:00
f9c74a3c98
Git tags lookup only works in Drone pipelines if tags have been pulled. 2023-08-06 00:55:04 +02:00
d887553211
Use HEAD...v${VERSION} to infer the git release number. 2023-08-06 00:48:20 +02:00
cd5c9fd046
Included Arch packages automation in .drone.yml 2023-08-06 00:44:03 +02:00
1a2ab13197
Only rebuild docs when a new version is released.
Also removed the docs build status badge from README, as it is now part
of the standard Drone build process.
2023-08-05 14:43:10 +02:00
69f5bee397
Added docs rebuild step in Drone CI pipeline 2023-08-04 11:18:42 +02:00
82811a11a6
Replaced git push --mirror with git push --all in drone.yml.
If the local clone doesn't have the tags or branches for some reason, we
don't want to lose that information on the Github repo.
2023-07-25 00:21:56 +02:00
eadcfe345a
Added github-mirror step to .drone.yml 2023-07-25 00:00:47 +02:00
bfd5959735
(Fixed?) .drone.yml format 2023-07-24 12:12:13 +02:00
27705f7bdf Test pipelines migrated to Drone CI 2023-07-24 11:05:41 +02:00