Commit Graph

126 Commits

Author SHA1 Message Date
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 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
Fabio Manganiello 67d45997ed Fixed Python bin path name for Debian builds.
continuous-integration/drone/push Build is passing Details
2023-09-18 14:53:21 +02:00
Fabio Manganiello 4bb3bcff8b (We actually do need git here)
continuous-integration/drone/push Build is failing Details
2023-09-18 14:46:30 +02:00
Fabio Manganiello 9576141a3f We don't need git commands when building .deb pkgs.
continuous-integration/drone/push Build is failing Details
2023-09-18 14:43:59 +02:00
Fabio Manganiello 55d4523ea3 The latest version of pip wants --break-system-packages in Docker.
continuous-integration/drone/push Build is failing Details
2023-09-18 14:38:04 +02:00
Fabio Manganiello e16cfdfb44 Use vanilla Debian images to build .deb.
continuous-integration/drone/push Build is failing Details
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
continuous-integration/drone/push Build is passing Details
2023-09-18 14:15:29 +02:00
Fabio Manganiello 10bf617261 main/ should have a trailing slash.
continuous-integration/drone/push Build is passing Details
2023-09-18 13:40:17 +02:00
Fabio Manganiello ed9548a476 Release .deb packages both for stable and oldstable.
continuous-integration/drone/push Build is passing Details
2023-09-18 13:36:59 +02:00
Fabio Manganiello 9702612fd5 Added s3 region settings and changed destination bucket.
continuous-integration/drone/push Build is passing Details
2023-09-18 13:20:14 +02:00
Fabio Manganiello bfb4b78172
The target deb name has `_all.deb` prefix.
continuous-integration/drone/push Build is failing Details
2023-09-18 12:05:27 +02:00
Fabio Manganiello 85febac2ae
Fixed the location of the target .deb file in the Drone CI script.
continuous-integration/drone/push Build is failing Details
2023-09-18 12:03:16 +02:00
Fabio Manganiello 868bec8ba5
One more fix for variable names in Drone CI script.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:59:03 +02:00
Fabio Manganiello 82e3f317bc
Drone CI doesn't support `${}` syntax for bash variables.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:54:32 +02:00
Fabio Manganiello 83ffa9f4a8
Added missing AWS_SECRET_ACCESS_KEY configuration secret.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:47:36 +02:00
Fabio Manganiello b955a1490d
"Depends" requires the dependencies to be comma-separated.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:44:59 +02:00
Fabio Manganiello 73609c7f0b
Make sure that the __all/DEBIAN directory exists.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:39:34 +02:00
Fabio Manganiello 295e202fc9
dpkg wants the control file under the `__all` directory.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:37:39 +02:00
Fabio Manganiello bc519d4b09
EOF required in the cat command.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:34:57 +02:00
Fabio Manganiello 949e5de070
Need to add `.` to pip install.
continuous-integration/drone/push Build was killed Details
2023-09-18 11:34:00 +02:00
Fabio Manganiello 9bcadcb3c9
Use pip install --prefix to prepare the Debian package.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:32:21 +02:00
Fabio Manganiello 2c74868315
[#323] Added logic to create deb package
continuous-integration/drone/push Build is failing Details
2023-09-18 11:00:46 +02:00
Fabio Manganiello ecba2e49ac
Do not remove the existing webapp's dist folder in build-ui.
continuous-integration/drone/push Build is passing Details
2023-09-17 12:56:54 +02:00
Fabio Manganiello 6ee064cb89
Always rebase on pull in .drone.yml.
continuous-integration/drone/push Build is passing Details
2023-09-04 02:53:20 +02:00
Fabio Manganiello 011f6d3a66
(Try and) pull the current branch from Github instead of master.
continuous-integration/drone/push Build is passing Details
2023-08-31 02:32:42 +02:00
Fabio Manganiello 86ce2647e4
Removed the -f flag from git push.
continuous-integration/drone/push Build is failing Details
2023-08-31 02:23:13 +02:00
Fabio Manganiello 867198a092
Try and force push the commits to Github.
continuous-integration/drone/push Build is passing Details
2023-08-31 02:22:01 +02:00
Fabio Manganiello 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
Fabio Manganiello ee955882bf
Always rebase when pulling from the Github remote.
continuous-integration/drone/push Build is failing Details
2023-08-31 02:11:50 +02:00
Fabio Manganiello fef6513cc8
Alpine Linux requires the linux-headers package to build psutil.
continuous-integration/drone/push Build is passing Details
2023-08-15 11:40:02 +02:00
Fabio Manganiello 435cbe7b1f
Keep track of the original .git/config path before running cd. 2023-08-07 00:45:51 +02:00
Fabio Manganiello 8b245a1618
Backup/restore the git configuration in the build-ui step.
continuous-integration/drone/push Build is passing Details
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
Fabio Manganiello 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
Fabio Manganiello 2005bc9f62
Always run notify-build-status - including on failure. 2023-08-07 00:05:13 +02:00
Fabio Manganiello 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
Fabio Manganiello 51f907e1b5
Make sure that neither dist nor node_modules are present before building the UI.
continuous-integration/drone/push Build is passing Details
2023-08-06 23:19:43 +02:00
Fabio Manganiello d92da5fe6f
Simplified Drone CI DAG.
Removed redundant `depends_on` steps in the pipeline.
2023-08-06 22:36:04 +02:00
Fabio Manganiello 2d999c471a
Removed git push from build-ui pipeline.
continuous-integration/drone/push Build is passing Details
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
Fabio Manganiello a739303041
Added build-ui step to the Drone pipeline.
continuous-integration/drone/push Build is failing Details
2023-08-06 22:21:22 +02:00
Fabio Manganiello d3fce6d922
Added notify-build-status step to Drone pipeline.
continuous-integration/drone/push Build is passing Details
2023-08-06 11:14:12 +02:00
Fabio Manganiello ed192faab2
Added notify-release step to Drone pipeline. 2023-08-06 11:08:01 +02:00
Fabio Manganiello 7a15c7c749
Added update-pip-package step in Drone pipeline. 2023-08-06 10:49:44 +02:00
Fabio Manganiello 063697c824
Remote and branch should be specified in git pull --tags
continuous-integration/drone/push Build is passing Details
2023-08-06 00:57:00 +02:00
Fabio Manganiello f9c74a3c98
Git tags lookup only works in Drone pipelines if tags have been pulled.
continuous-integration/drone/push Build is failing Details
2023-08-06 00:55:04 +02:00
Fabio Manganiello d887553211
Use `HEAD...v${VERSION}` to infer the git release number.
continuous-integration/drone/push Build is passing Details
2023-08-06 00:48:20 +02:00
Fabio Manganiello cd5c9fd046
Included Arch packages automation in .drone.yml
continuous-integration/drone/push Build is passing Details
2023-08-06 00:44:03 +02:00
Fabio Manganiello 1a2ab13197
Only rebuild docs when a new version is released.
continuous-integration/drone/push Build is passing Details
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
Fabio Manganiello 69f5bee397
Added docs rebuild step in Drone CI pipeline
continuous-integration/drone/push Build is passing Details
2023-08-04 11:18:42 +02:00
Fabio Manganiello 82811a11a6
Replaced `git push --mirror` with `git push --all` in drone.yml.
continuous-integration/drone/push Build is passing Details
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
Fabio Manganiello eadcfe345a
Added github-mirror step to .drone.yml 2023-07-25 00:00:47 +02:00
Fabio Manganiello bfd5959735
(Fixed?) .drone.yml format
continuous-integration/drone Build is passing Details
2023-07-24 12:12:13 +02:00
Fabio Manganiello 27705f7bdf Test pipelines migrated to Drone CI
continuous-integration/drone Build was killed Details
2023-07-24 11:05:41 +02:00