Skip to content

Commit

Permalink
Add Debian Bookworm ARM base (#40)
Browse files Browse the repository at this point in the history
  • Loading branch information
auscompgeek authored Jan 26, 2025
1 parent 907a07c commit e40177c
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 3 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,22 @@ jobs:
make UBUNTU=${{ matrix.ubuntu-version }} push
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
build-arm:
name: Build ARM
runs-on: ubuntu-24.04-arm
strategy:
matrix:
debian-version:
- bookworm
steps:
- uses: actions/checkout@v4
- run: make DEBIAN=${{ matrix.debian-version }} update/arm
- run: make DEBIAN=${{ matrix.debian-version }} build/arm-base
- run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
make UBUNTU=${{ matrix.debian-version }} push/arm-base
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
build-minimal:
name: Build Minimal
runs-on: ubuntu-latest
Expand Down
17 changes: 14 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
UBUNTU?=22.04
OPENSDK_UBUNTU?=20.04
DEBIAN?=bookworm

DOCKER_USER?=wpilib

.PHONY: usage update push build \
$(patsubst %,build/%, base cross minimal-base minimal-cross opensdk)
$(patsubst %,push/%, base cross minimal-base minimal-cross opensdk)
.PHONY: usage update update/arm push build \
$(patsubst %,build/%, arm-base base cross minimal-base minimal-cross opensdk)
$(patsubst %,push/%, arm-base base cross minimal-base minimal-cross opensdk)
usage:
@echo "Run make update, make build, and make push"

update:
docker pull docker.io/ubuntu:${UBUNTU}
docker pull docker.io/ubuntu:${OPENSDK_UBUNTU}

update/arm:
docker pull docker.io/debian:${DEBIAN}

build: build/base build/cross build/opensdk

build/arm-base:
cd debian-base && \
docker build -t ${DOCKER_USER}/debian-base:arm64-${DEBIAN} -f Dockerfile.${DEBIAN} .

build/base:
cd ubuntu-base && \
docker build -t ${DOCKER_USER}/ubuntu-base:${UBUNTU} -f Dockerfile.${UBUNTU} .
Expand Down Expand Up @@ -49,6 +57,9 @@ build/opensdk:

push: $(patsubst %,push/%, base cross opensdk)

push/arm-base:
docker push ${DOCKER_USER}/debian-base:arm64-${DEBIAN}

push/base:
docker push ${DOCKER_USER}/ubuntu-base:${UBUNTU}

Expand Down
45 changes: 45 additions & 0 deletions debian-base/Dockerfile.bookworm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
FROM debian:bookworm

RUN apt-get update && apt-get install -y apt-transport-https \
ca-certificates \
gnupg \
software-properties-common \
tzdata \
build-essential \
ca-certificates \
clang-format-14 \
cmake \
curl \
fakeroot \
g++ --no-install-recommends \
gcc \
gdb \
gfortran \
git \
java-common \
libc6-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
libisl-dev \
libopencv-dev \
libvulkan-dev \
libx11-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev \
make \
mesa-common-dev \
openjdk-17-jdk \
python3-dev \
python3-pip \
python3-setuptools \
sudo \
unzip \
wget \
zip \
&& rm -rf /var/lib/apt/lists/*

ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk-arm64

WORKDIR /

0 comments on commit e40177c

Please sign in to comment.