From ce1f49094ec3f7701893c54662ee8a36c80aaac6 Mon Sep 17 00:00:00 2001 From: jeremyrhyde <34897732+jeremyrhyde@users.noreply.github.com> Date: Mon, 18 Dec 2023 12:32:59 -0500 Subject: [PATCH] Reduce Appimage Size (#309) --- .canon.yaml | 9 +-- .github/workflows/appimage.yml | 8 +-- .github/workflows/bump_dependencies.yml | 2 +- .github/workflows/deploy_module.yml | 4 +- .github/workflows/test.yml | 10 +-- etc/canon-update.sh | 4 +- .../appimages/cartographer-module-aarch64.yml | 63 ++++--------------- .../appimages/cartographer-module-x86_64.yml | 63 ++++--------------- 8 files changed, 43 insertions(+), 120 deletions(-) diff --git a/.canon.yaml b/.canon.yaml index 0ea42eb4..9f8b14e2 100644 --- a/.canon.yaml +++ b/.canon.yaml @@ -1,8 +1,9 @@ viam-cartographer: - image_amd64: ghcr.io/viamrobotics/canon:amd64 - image_arm64: ghcr.io/viamrobotics/canon:arm64 - minimum_date: 2022-12-20T18:49:25.781750658Z + default: true + image_amd64: ghcr.io/viamrobotics/rdk-devenv:amd64-cache + image_arm64: ghcr.io/viamrobotics/rdk-devenv:arm64-cache + minimum_date: 2023-10-26T20:00:00.0Z update_interval: 168h0m0s - persistent: true user: testbot group: testbot + persistent: true diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index c65bf301..31093b49 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -22,11 +22,11 @@ jobs: matrix: include: - arch: buildjet-8vcpu-ubuntu-2204 - image: ghcr.io/viamrobotics/canon:amd64-cache - platform: linux/amd64 + image: ghcr.io/viamrobotics/rdk-devenv:amd64-cache + platform: amd64 - arch: buildjet-8vcpu-ubuntu-2204-arm - image: ghcr.io/viamrobotics/canon:arm64-cache - platform: linux/arm64 + image: ghcr.io/viamrobotics/rdk-devenv:arm64-cache + platform: arm64 runs-on: ${{ matrix.arch }} container: image: ${{ matrix.image }} diff --git a/.github/workflows/bump_dependencies.yml b/.github/workflows/bump_dependencies.yml index 9d6fbf98..ab7d3111 100644 --- a/.github/workflows/bump_dependencies.yml +++ b/.github/workflows/bump_dependencies.yml @@ -15,7 +15,7 @@ jobs: if: github.repository_owner == 'viamrobotics' runs-on: [self-hosted, x64] container: - image: ghcr.io/viamrobotics/canon:amd64 + image: ghcr.io/viamrobotics/rdk-devenv:amd64-cache timeout-minutes: 10 steps: diff --git a/.github/workflows/deploy_module.yml b/.github/workflows/deploy_module.yml index 176c531e..c8d01335 100644 --- a/.github/workflows/deploy_module.yml +++ b/.github/workflows/deploy_module.yml @@ -20,10 +20,10 @@ jobs: matrix: include: - arch: buildjet-8vcpu-ubuntu-2204 - image: ghcr.io/viamrobotics/canon:amd64-cache + image: ghcr.io/viamrobotics/rdk-devenv:amd64-cache platform: amd64 - arch: buildjet-8vcpu-ubuntu-2204-arm - image: ghcr.io/viamrobotics/canon:arm64-cache + image: ghcr.io/viamrobotics/rdk-devenv:arm64-cache platform: arm64 runs-on: ${{ matrix.arch }} container: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2141354a..0d10cc9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,11 +11,11 @@ jobs: matrix: include: - arch: buildjet-8vcpu-ubuntu-2204 - image: ghcr.io/viamrobotics/canon:amd64-cache - platform: linux/amd64 + image: ghcr.io/viamrobotics/rdk-devenv:amd64-cache + platform: amd64 - arch: buildjet-8vcpu-ubuntu-2204-arm - image: ghcr.io/viamrobotics/canon:arm64-cache - platform: linux/arm64 + image: ghcr.io/viamrobotics/rdk-devenv:arm64-cache + platform: arm64 runs-on: ${{ matrix.arch }} container: image: ${{ matrix.image }} @@ -93,6 +93,6 @@ jobs: # Currently we only run valgrind on arm64 as x86 # doesn't valgrind clean due to what appears to be a bug in GLOG # https://github.com/viamrobotics/viam-cartographer/actions/runs/5156238014/jobs/9287413446 - if: matrix.platform != 'linux/amd64' + if: matrix.platform != 'amd64' run: | sudo -u testbot bash -lc 'make setup-cpp-debug && make test-cpp-valgrind' diff --git a/etc/canon-update.sh b/etc/canon-update.sh index 67443111..9f23ff3a 100755 --- a/etc/canon-update.sh +++ b/etc/canon-update.sh @@ -46,10 +46,10 @@ yesterday() { for TAG in amd64 arm64 amd64-cache arm64-cache do - TIMESTAMP=$(date_to_seconds `docker inspect -f '{{ .Created }}' ghcr.io/viamrobotics/canon:$TAG` ) + TIMESTAMP=$(date_to_seconds `docker inspect -f '{{ .Created }}' ghcr.io/viamrobotics/rdk-devenv:$TAG` ) if ( [[ $TAG =~ -cache$ ]] && [ $TIMESTAMP -lt $(yesterday) ] ) || [ $TIMESTAMP -lt $(date_to_seconds $MIN_DATE) ] then # Always "succeed" in case network is down - docker pull ghcr.io/viamrobotics/canon:$TAG || true + docker pull ghcr.io/viamrobotics/rdk-devenv:$TAG || true fi done diff --git a/etc/packaging/appimages/cartographer-module-aarch64.yml b/etc/packaging/appimages/cartographer-module-aarch64.yml index ff72bfb4..aa298159 100644 --- a/etc/packaging/appimages/cartographer-module-aarch64.yml +++ b/etc/packaging/appimages/cartographer-module-aarch64.yml @@ -26,58 +26,19 @@ AppDir: - arm64 allow_unauthenticated: true sources: - - sourceline: deb [trusted=yes] http://deb.debian.org/debian bullseye main - - sourceline: deb [trusted=yes] http://deb.debian.org/debian-security bullseye-security main - - sourceline: deb [trusted=yes] http://deb.debian.org/debian bullseye-updates main - - sourceline: deb [trusted=yes] https://us-apt.pkg.dev/projects/static-file-server-310021 bullseye main + - sourceline: deb [trusted=yes] http://deb.debian.org/debian bookworm main + - sourceline: deb [trusted=yes] http://deb.debian.org/debian-security bookworm-security main + - sourceline: deb [trusted=yes] http://deb.debian.org/debian bookworm-updates main + - sourceline: deb [trusted=yes] https://us-apt.pkg.dev/projects/static-file-server-310021 bookworm main include: - - libboost-iostreams1.74.0:arm64 - - libboost-filesystem1.74.0:arm64 - - libboost-system1.74.0:arm64 - - libboost-regex1.74.0:arm64 - - libboost-date-time1.74.0:arm64 - - libssl1.1:arm64 - - libgrpc++1:arm64 - - libgrpc10:arm64 - - libprotobuf31:arm64 - - libxcb-render0:arm64 - - libxcb-shm0:arm64 - - libabsl20200923:arm64 - - libc6:arm64 - - libceres1 - - libgoogle-glog0v5 - - libgflags2.2 - - liblua5.3-0:arm64 - - libcairo2:arm64 - - libjpeg62-turbo:arm64 - - libstdc++6:arm64 - - libpcl-apps1.11:arm64 - - libpcl-common1.11:arm64 - - libpcl-features1.11:arm64 - - libpcl-filters1.11:arm64 - - libpcl-io1.11:arm64 - - libpcl-kdtree1.11:arm64 - - libpcl-keypoints1.11:arm64 - - libpcl-ml1.11:arm64 - - libpcl-octree1.11:arm64 - - libpcl-outofcore1.11:arm64 - - libpcl-people1.11:arm64 - - libpcl-recognition1.11:arm64 - - libpcl-registration1.11:arm64 - - libpcl-sample-consensus1.11:arm64 - - libpcl-search1.11:arm64 - - libpcl-segmentation1.11:arm64 - - libpcl-stereo1.11:arm64 - - libpcl-surface1.11:arm64 - - libpcl-tracking1.11:arm64 - - libpcl-visualization1.11:arm64 - - libx11-6:arm64 - - libflann1.9:arm64 - - libxcb1:arm64 - - libglx0:arm64 - - libgl1:arm64 - - libglvnd0:arm64 - - libnlopt0:arm64 + - libabsl20220623 + - libcairo2 + - liblua5.3-0 + - libceres3 + - libprotobuf32 + - libboost-filesystem1.74.0 + - libpcl-io1.13 + - libnlopt0 files: include: [] diff --git a/etc/packaging/appimages/cartographer-module-x86_64.yml b/etc/packaging/appimages/cartographer-module-x86_64.yml index f3ec1be9..b7a4d8af 100644 --- a/etc/packaging/appimages/cartographer-module-x86_64.yml +++ b/etc/packaging/appimages/cartographer-module-x86_64.yml @@ -26,58 +26,19 @@ AppDir: - amd64 allow_unauthenticated: true sources: - - sourceline: deb [trusted=yes] http://deb.debian.org/debian bullseye main - - sourceline: deb [trusted=yes] http://deb.debian.org/debian-security bullseye-security main - - sourceline: deb [trusted=yes] http://deb.debian.org/debian bullseye-updates main - - sourceline: deb [trusted=yes] https://us-apt.pkg.dev/projects/static-file-server-310021 bullseye main + - sourceline: deb [trusted=yes] http://deb.debian.org/debian bookworm main + - sourceline: deb [trusted=yes] http://deb.debian.org/debian-security bookworm-security main + - sourceline: deb [trusted=yes] http://deb.debian.org/debian bookworm-updates main + - sourceline: deb [trusted=yes] https://us-apt.pkg.dev/projects/static-file-server-310021 bookworm main include: - - libboost-iostreams1.74.0:amd64 - - libboost-filesystem1.74.0:amd64 - - libboost-system1.74.0:amd64 - - libboost-regex1.74.0:amd64 - - libboost-date-time1.74.0:amd64 - - libssl1.1:amd64 - - libgrpc++1:amd64 - - libgrpc10:amd64 - - libprotobuf31:amd64 - - libxcb-render0:amd64 - - libxcb-shm0:amd64 - - libabsl20200923:amd64 - - libc6:amd64 - - libceres1 - - libgoogle-glog0v5 - - libgflags2.2 - - liblua5.3-0:amd64 - - libcairo2:amd64 - - libjpeg62-turbo:amd64 - - libstdc++6:amd64 - - libpcl-apps1.11:amd64 - - libpcl-common1.11:amd64 - - libpcl-features1.11:amd64 - - libpcl-filters1.11:amd64 - - libpcl-io1.11:amd64 - - libpcl-kdtree1.11:amd64 - - libpcl-keypoints1.11:amd64 - - libpcl-ml1.11:amd64 - - libpcl-octree1.11:amd64 - - libpcl-outofcore1.11:amd64 - - libpcl-people1.11:amd64 - - libpcl-recognition1.11:amd64 - - libpcl-registration1.11:amd64 - - libpcl-sample-consensus1.11:amd64 - - libpcl-search1.11:amd64 - - libpcl-segmentation1.11:amd64 - - libpcl-stereo1.11:amd64 - - libpcl-surface1.11:amd64 - - libpcl-tracking1.11:amd64 - - libpcl-visualization1.11:amd64 - - libx11-6:amd64 - - libflann1.9:amd64 - - libxcb1:amd64 - - libglx0:amd64 - - libgl1:amd64 - - libglvnd0:amd64 - - libnlopt0:amd64 + - libabsl20220623 + - libcairo2 + - liblua5.3-0 + - libceres3 + - libprotobuf32 + - libboost-filesystem1.74.0 + - libpcl-io1.13 + - libnlopt0 files: include: []