Commit graph

1181 commits

Author SHA1 Message Date
Ben Wolsieffer
4e25747880 actions: try to make failed builds cache work 2024-11-20 21:40:28 -05:00
Ben Wolsieffer
315a2ee2c4 workflows: build: update dependencies
This should hopefully get a Nix version new enough to support "nix
config"
2024-11-20 20:49:50 -05:00
Ben Wolsieffer
54c4356c50 actions: fix root-attribute
Also, get rid of old failed builds caching
2024-11-20 20:20:19 -05:00
Ben Wolsieffer
37e529981b Remove foxy from GitHub actions 2024-11-20 20:15:46 -05:00
Michal Sojka
b831c70ffd release.nix: Consider only regular files as examples
Recently added commit a9a387b49 ("Add flake template", 2024-09-12),
when combined with the previous release.nix changes, resulted in
adding the example/flake subdirectory as an output attribute, which
makes no sense.
2024-11-20 20:13:44 -05:00
Michal Sojka
056462fb94 README.md: Add a link to the Hydra
Currently, the hydra instance is in experimental state. I'll probably
do at least some configuration changes so expect downtimes etc. But I
think it's already useful and good start.
2024-11-20 20:13:44 -05:00
Michal Sojka
aa1a8120bd release.nix: Allow building just examples
To do that, we remove the special toplevelOnly parameter introduced in
the last commit and reuse the distro parameter for that. When its
value starts with a dot, it's not a ROS distro name, but an internal
value, which we use to distinguish what to return.
2024-11-20 20:13:44 -05:00
Michal Sojka
b14a85a483 release.nix: Allow building only top-level packages
The plan is to have one Hydra jobset for each distro and one for just
the toplevel packages. This allows the latter.
2024-11-20 20:13:44 -05:00
Michal Sojka
a9202c4284 flake.nix: Remove checks for now
The checks output is useful for flake-based CI tools such as hydra,
hercules-ci, buildbot-nix and others. However, having it in the flake
in the current state brings several problems:

1. checks should be a flat attrset, while our release.nix provides a
   recursive attrset. Recursive attrset is fine for Hydra, but plain
   `nix flake check` complains. We can flatten the attrset, but this
   is not sufficient because of 2. Alternatively, if we want just
   hydra compatibility we can rename checks to hydraJobs, but problem
   2 will still persist.

2. We have several packages, which fail to evaluate. Either because of
   missing callPackages arguments or because of them being insecure.
   This breaks even basic things like `nix flake show`.
2024-11-20 20:13:44 -05:00
Michal Sojka
a451881dff Make release.nix more readable 2024-11-20 20:13:44 -05:00
Michal Sojka
b23f83fb17 flake.nix: Add aach64-linux to checks 2024-11-20 20:13:44 -05:00
Michal Sojka
4962fecb22 release.nix: Add examples 2024-11-20 20:13:44 -05:00
Michal Sojka
ccae44e675 release.nix: Don't build foxy in CI 2024-11-20 20:13:44 -05:00
Michal Sojka
bf61ea9af7 release.nix: Add top-level packages like colcon
This allows running CI on the complete content of this repository.
2024-11-20 20:13:44 -05:00
Michal Sojka
2dd34bfa6f release.nix: Remove few top-level attributes preventing evaluation in Hydra
While doing that, refactor the code to have simpler expressions.
2024-11-20 20:13:44 -05:00
Michal Sojka
ce30af70c7 flake.nix: Add "checks" flake output based on release.nix
To make "nix flake check" and similar tools work, we need to allow
setting the system attribute in release.nix explicitly. Without this,
flake jobs in Hydra complain about:

    error: attribute 'currentSystem' missing' in restricted evaluation mode.
2024-11-20 20:13:44 -05:00
Michal Sojka
894271ba89 release.nix: Don't try to access absolute paths
This fixes the following error reported by Hydra:

    error: access to absolute path '/lib' is forbidden in restricted mode
2024-11-20 20:13:44 -05:00
Michal Sojka
a31e29ac73 release.nix: Use lockedNixpkgs as in default.nix
This ensures that CI using release.nix builds the same code as will be
used by users.

This simply copies the code from default.nix.
2024-11-20 20:13:44 -05:00
Ben Wolsieffer
a94ed52ff6 Re-write GitHub action to improve reliability
Re-write the GitHub action to work more like Hydra

* Packages are evaluated and then built in topological order
* Each build failure is added as a separate cache entry. Makes it work
  even if the action times out, and makes it easier to retry individual
  packages.
* Dependency failures are reported accurately
2024-11-20 20:06:33 -05:00
Ben Wolsieffer
89a4655a79 noetic: restore libfranka patching
index.ros.org claims libfranka is not included in noetic, but it clearly
is.
2024-11-17 15:29:23 -05:00
Ben Wolsieffer
f5f0ee1237 Cleanup overrides
Move some ROS 1 specific overrides out of distro-overlay.nix, get rid of
some that have been fixed upstream and remove some for packages that
only exist in ancient distros.
2024-11-17 15:07:05 -05:00
Ben Wolsieffer
0eccf67b40 nix-ros-build-action: update dependencies 2024-11-17 13:40:56 -05:00
Ben Wolsieffer
2c5bb60569 Add GitHub action dev shell to flake 2024-11-17 12:25:57 -05:00
Ben Wolsieffer
c1fc199dc6 noetic: dynamixel-sdk: add distutils 2024-11-17 11:58:19 -05:00
Ben Wolsieffer
d2bebade43 actions: adjust parallelism to maybe make it work better 2024-11-16 23:59:21 -05:00
Michal Sojka
c3e6e964fc noetic: add distutils to more packages 2024-11-15 22:33:31 -05:00
Ben Wolsieffer
436f307c71 iron: python-qt-binding: patch out distutils dependency
Backport an upstream patch to get rid of distutils.
2024-11-15 14:28:46 -05:00
Ben Wolsieffer
0486d60a0d Only apply octomap patching on rolling and jazzy
Older distros don't need it
2024-11-15 14:19:01 -05:00
Ben Wolsieffer
123b5ce6a2 Only apply geometric-shapes override on rolling and jazzy
Older distros don't need it.
2024-11-15 14:03:51 -05:00
Ben Wolsieffer
e819a93712 noetic: rqt-bag: add distutils 2024-11-15 13:59:43 -05:00
Ben Wolsieffer
f556a34f39 Improve patchExternalProjectGit
Add basic support for checking the version if it is assigned to a
variable.
2024-11-15 13:10:05 -05:00
Ben Wolsieffer
5d3c82695b rolling: sdformat-vendor: update vendor patching 2024-11-15 12:14:39 -05:00
Ben Wolsieffer
77749e3012 rolling: gz-cmake-vendor: update vendor patching 2024-11-15 11:58:59 -05:00
Ben Wolsieffer
8e5b7e475e Cleanup moveit patches
Move the octomap patches to ros2-overlay.nix, since they don't apply to
ROS 1
2024-11-15 11:55:25 -05:00
Viktor Pocedulić
5034180018 moveit2: apply fix globally for all distros 2024-11-15 11:46:19 -05:00
Viktor Pocedulić
dccccc346c Update distros/jazzy/overrides.nix
Co-authored-by: Michal Sojka <michal.sojka@cvut.cz>
2024-11-15 11:46:19 -05:00
Viktor Pocedulić
078f11d74c moveit2: fix build 2024-11-15 11:46:19 -05:00
Superflore
f07f7f9c42 regenerate all distros, Fri Nov 15 13:25:01 2024 2024-11-15 11:40:28 -05:00
Ben Wolsieffer
73d002eb26 noetic: rqt-gui-py: add distutils 2024-11-15 11:16:52 -05:00
Ben Wolsieffer
cf904ec6c4 noetic: more distutils 2024-11-15 11:05:18 -05:00
Ben Wolsieffer
ea81eccfe9 noetic: fkie-master-discovery: add distutils 2024-11-14 23:32:46 -05:00
Ben Wolsieffer
ff6684d15d noetic: add many distutils overrides 2024-11-14 23:31:00 -05:00
Ben Wolsieffer
d4a2db3fe2 noetic: gps-common: add distutils dependency 2024-11-14 23:14:27 -05:00
Ben Wolsieffer
22375aa1c9 noetic: mavros: add distutils dependency 2024-11-14 23:12:09 -05:00
Ben Wolsieffer
db36db656a noetic: use patches to remove distutils dependencies 2024-11-14 23:08:57 -05:00
Ben Wolsieffer
94cb9c1646 mrpt: update vendor hash 2024-11-14 22:51:36 -05:00
Ben Wolsieffer
b63d9f26e0 noetic: pyquaternion: add distutils dependency 2024-11-14 22:44:07 -05:00
Ben Wolsieffer
8e6a1565e6 noetic: turtlebot3-teleop: add distutils dependency 2024-11-14 22:41:18 -05:00
Ben Wolsieffer
83714f3855 noetic: rosserial-python: add distutils dependency 2024-11-14 22:37:12 -05:00
Ben Wolsieffer
43460df4e1 noetic: laser-geometry: add distutils dependency 2024-11-14 22:36:56 -05:00