Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ env:

jobs:
debs:
runs-on: ${{ inputs.ARCH == 'x64' && 'ubuntu-22.04' || (inputs.ARCH == 'arm64' && 'ubuntu-22.04-arm' || inputs.ARCH) }}
runs-on: ${{ inputs.ARCH == 'x64' && 'ubuntu-latest' || (inputs.ARCH == 'arm64' && 'ubuntu-22.04-arm' || inputs.ARCH) }}
timeout-minutes: ${{ inputs.ARCH == 'x64' && 340 || 2880 }}
name: build debs
outputs:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ concurrency:

jobs:
sanity:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -39,7 +39,7 @@ jobs:
name: pre-commit

unittests:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ concurrency:

jobs:
deploy:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
if: (inputs.DEPLOY_URL || vars.DEPLOY_URL) && (inputs.DEBS_ARTIFACT_NAME != 'skip')
env:
DEBUG_BASH: ${{ secrets.ACTIONS_STEP_DEBUG && 'true' || 'false' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker.build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ env:

jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest

steps:
- uses: rhaschke/docker-run-action@main
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/interactive.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ jobs:
INSTALL_GPG_KEYS: |
sudo curl -sSL https://ros.packages.techfak.net/gpg.key -o /etc/apt/keyrings/ros-one-keyring.gpg
EXTRA_DEB_SOURCES: >-
"${{ inputs.CONTINUE_BUILD &&
format('deb [signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net {0}-testing main',
inputs.DEB_DISTRO) || '' }}"
${{ inputs.CONTINUE_BUILD &&
format('deb [signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net {0}-testing main',
inputs.DEB_DISTRO) || '' }}
EXTRA_ROSDEP_SOURCES: |
rosdep.yaml
https://ros.packages.techfak.net/ros-one.yaml
Expand All @@ -109,9 +109,9 @@ jobs:
INSTALL_GPG_KEYS: |
sudo curl -sSL https://ros.packages.techfak.net/gpg.key -o /etc/apt/keyrings/ros-one-keyring.gpg
EXTRA_DEB_SOURCES: >-
"${{ inputs.CONTINUE_BUILD &&
format('deb [signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net {0}-testing main',
inputs.DEB_DISTRO) || '' }}"
${{ inputs.CONTINUE_BUILD &&
format('deb [signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net {0}-testing main',
inputs.DEB_DISTRO) || '' }}
EXTRA_ROSDEP_SOURCES: |
rosdep.yaml
https://ros.packages.techfak.net/ros-one.yaml
Expand All @@ -135,9 +135,9 @@ jobs:
INSTALL_GPG_KEYS: |
sudo curl -sSL https://ros.packages.techfak.net/gpg.key -o /etc/apt/keyrings/ros-one-keyring.gpg
EXTRA_DEB_SOURCES: >-
"${{ inputs.CONTINUE_BUILD &&
format('deb [signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net {0}-testing main',
inputs.DEB_DISTRO) || '' }}"
${{ inputs.CONTINUE_BUILD &&
format('deb [signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net {0}-testing main',
inputs.DEB_DISTRO) || '' }}
EXTRA_ROSDEP_SOURCES: |
rosdep.yaml
https://ros.packages.techfak.net/ros-one.yaml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/packages.build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ env:
jobs:
build:
name: "${{ inputs.DEB_DISTRO }}-${{ inputs.ARCH }}"
runs-on: ${{ inputs.ARCH == 'x64' && 'ubuntu-22.04' || (inputs.ARCH == 'arm64' && 'ubuntu-22.04-arm' || inputs.ARCH) }}
runs-on: ${{ inputs.ARCH == 'x64' && 'ubuntu-latest' || (inputs.ARCH == 'arm64' && 'ubuntu-22.04-arm' || inputs.ARCH) }}

steps:
- run: pip install gitpython
Expand Down
4 changes: 0 additions & 4 deletions src/README.md.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
## Install

```bash
# Configure ROS 2 apt repository
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /etc/apt/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list

# Configure custom ROS repository
echo "deb [trusted=yes] @REPO_URL@ ./" | sudo tee /etc/apt/sources.list.d/@DISTRO_NAME@.list

Expand Down
10 changes: 5 additions & 5 deletions src/prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,11 @@ function create_chroot {


local tmp; tmp=$(mktemp "/tmp/ros-builder-XXXXXX.sh")
# shellcheck disable=SC2001
cat <<- EOF > "$tmp"
set -x # bash debug mode
mkdir -p /etc/apt/keyrings
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /etc/apt/keyrings/ros-archive-keyring.gpg
$INSTALL_GPG_KEYS
$(echo "$INSTALL_GPG_KEYS" | sed 's/sudo //')
echo "Acquire::http::Proxy \"http://127.0.0.1:3142\";" > tee /etc/apt/apt.conf.d/01acng
EOF

Expand All @@ -104,13 +105,12 @@ EOF
local chroot_folder="/var/cache/sbuild-chroot"
# shellcheck disable=SC2016
ici_cmd ici_asroot mmdebstrap \
--variant=buildd --include=apt,apt-utils,ccache,ca-certificates,curl,build-essential,debhelper,fakeroot,cmake,git,python3-rosdep,python3-catkin-pkg \
--variant=buildd --include=apt,apt-utils,ccache,ca-certificates,curl,build-essential,debhelper,fakeroot,cmake,git \
--customize-hook="upload $tmp $tmp" \
--customize-hook="chroot \$1 chmod 755 $tmp" \
--customize-hook="chroot \$1 sh -c $tmp" \
"$DEB_DISTRO" "$chroot_folder" \
"deb $DISTRIBUTION_REPO $DEB_DISTRO main universe" \
"deb [signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $DEB_DISTRO main"
"deb $DISTRIBUTION_REPO $DEB_DISTRO main universe"

ici_log
ici_color_output BOLD "Write schroot config"
Expand Down
20 changes: 7 additions & 13 deletions src/scripts/prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ ici_append INSTALL_HOST_GPG_KEYS "sudo apt-key adv --keyserver keyserver.ubuntu.
ici_append EXTRA_HOST_SOURCES "deb http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/sbuild/ubuntu jammy main"
ici_cmd restrict_src_to_packages "release o=v-launchpad-jochen-sprickerhof-de" "mmdebstrap sbuild"

# ROS for python3-rosdep, python3-colcon-*
ros_key_file="/etc/apt/keyrings/ros-archive-keyring.gpg"
ici_append INSTALL_HOST_GPG_KEYS "sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o $ros_key_file"
ici_append EXTRA_HOST_SOURCES "deb [signed-by=$ros_key_file] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main"

# Configure sources
ici_hook INSTALL_HOST_GPG_KEYS
ici_timed "Configure EXTRA_HOST_SOURCES" configure_extra_host_sources
Expand All @@ -30,19 +25,18 @@ echo apt-cacher-ng apt-cacher-ng/tunnelenable boolean true | ici_asroot debconf-

# Install packages on host
DEBIAN_FRONTEND=noninteractive ici_timed "Install build packages" ici_cmd "${APT_QUIET[@]}" ici_apt_install \
mmdebstrap sbuild schroot devscripts ccache apt-cacher-ng python3-pip python3-rosdep libxml2-utils libarchive-tools \
python3-colcon-package-information python3-colcon-package-selection python3-colcon-ros python3-colcon-cmake \
python3-stdeb python3-all dh-python build-essential
mmdebstrap sbuild schroot devscripts ccache apt-cacher-ng python3-pip libxml2-utils libarchive-tools \
debhelper python3-all dh-python build-essential

export PIP_BREAK_SYSTEM_PACKAGES=1
# Install patched bloom to handle ROS "one" distro key when resolving python and ROS version
ici_timed "Install bloom" ici_asroot pip install -U git+https://github.com/rhaschke/bloom.git@ros-one
# Install patched vcstool to allow for treeless clones
ici_timed "Install vcstool" ici_asroot pip install -U git+https://github.com/rhaschke/vcstool.git@master

# Remove ros2 package repository, now that rosdep and colcon are installed
# This repo might have newer versions, e.g. of colcon, than the ones to be built
ici_asroot sed -i '/packages.ros.org\/ros2\/ubuntu/d' "$REPOS_LIST_FILE"
ici_timed "Update apt package list" ici_asroot apt-get update
# Install latest stdeb
ici_timed "Install stdeb" ici_asroot pip install -U git+https://github.com/astraw/stdeb@master
# Install colcon and rosdep from pypi
ici_timed "Install rosdep and colcon" ici_asroot pip install -U rosdep colcon-package-information colcon-package-selection colcon-ros colcon-cmake

# remove existing rosdep config to avoid conflicts with rosdep init
ici_asroot rm -f /etc/ros/rosdep/sources.list.d/20-default.list
Expand Down
Loading