Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce Appimage Size #309

Merged
Merged
Show file tree
Hide file tree
Changes from 2 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
9 changes: 5 additions & 4 deletions .canon.yaml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions .github/workflows/appimage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,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: linux/amd64
- arch: buildjet-8vcpu-ubuntu-2204-arm
image: ghcr.io/viamrobotics/canon:arm64-cache
image: ghcr.io/viamrobotics/rdk-devenv:arm64-cache
platform: linux/arm64
runs-on: ${{ matrix.arch }}
container:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bump_dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/deploy_module.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ jobs:
matrix:
include:
- arch: buildjet-8vcpu-ubuntu-2204
image: ghcr.io/viamrobotics/canon:amd64-cache
platform: amd64
image: ghcr.io/viamrobotics/rdk-devenv:amd64-cache
platform: linux/amd64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this may fail when you run it -- this is being consumed elsewhere in the file as matrix.platform, both here + in the upload job

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made consistent with other workflows

- arch: buildjet-8vcpu-ubuntu-2204-arm
image: ghcr.io/viamrobotics/canon:arm64-cache
platform: arm64
image: ghcr.io/viamrobotics/rdk-devenv:arm64-cache
platform: linux/arm64
runs-on: ${{ matrix.arch }}
container:
image: ${{ matrix.image }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,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: linux/amd64
- arch: buildjet-8vcpu-ubuntu-2204-arm
image: ghcr.io/viamrobotics/canon:arm64-cache
image: ghcr.io/viamrobotics/rdk-devenv:arm64-cache
platform: linux/arm64
runs-on: ${{ matrix.arch }}
container:
Expand Down
4 changes: 2 additions & 2 deletions etc/canon-update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
63 changes: 12 additions & 51 deletions etc/packaging/appimages/cartographer-module-aarch64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[note] Upgrading to bookworm to use non-dev packages which are smaller and unavailable in bullseye. This upgrade also matches the new red-env used in workflows. Appimage will be backward compatible to bullseye

- 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

out of scope for review, but you can probably use a single appimage yml for both platforms

they support environment variable in these, with ${VAR} syntax I believe, and the diff between these files seems fairly small now

(totally optional, only if it matters to you)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll handle this in the future, when a larger overhaul of the system occurs

- libcairo2
- liblua5.3-0
- libceres3
- libprotobuf32
- libboost-filesystem1.74.0
- libpcl-io1.13
- libnlopt0

files:
include: []
Expand Down
63 changes: 12 additions & 51 deletions etc/packaging/appimages/cartographer-module-x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
Loading