Skip to content

Commit 95624a3

Browse files
committed
add matrix build
1 parent 03eccc3 commit 95624a3

File tree

3 files changed

+85
-3
lines changed

3 files changed

+85
-3
lines changed

.github/workflows/build_backend.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ jobs:
3939
release-backend:
4040
needs: [test]
4141
runs-on: ubuntu-latest
42+
strategy:
43+
matrix:
44+
architecture:
45+
- arch: linux/arm/v7
46+
dockerfile: Dockerfile
47+
- arch: linux/arm/v8
48+
dockerfile: Dockerfile.arm64
4249
steps:
4350
- name: Docker meta
4451
id: meta
@@ -75,10 +82,10 @@ jobs:
7582
with:
7683
push: true
7784
build-args: CODERBOT_VERSION=${{github.ref_name}}-${{github.sha}}
78-
platforms: linux/arm/v7
85+
platforms: ${{ matrix.architecture.arch }}
7986
tags: ${{ steps.meta.outputs.tags }}
8087
context: .
81-
file: docker/Dockerfile
88+
file: docker/${{ matrix.architecture.dockerfile }}
8289
cache-from: type=registry,ref=ghcr.io/coderbotorg/backend:latest
8390
cache-to: type=inline
8491

docker/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
FROM balenalib/raspberrypi3-64:bullseye-20240304
1+
FROM coderbot/rpi-debian:bullseye-20240227
22

33
ENV QEMU_CPU=max
44
ENV DEBIAN_FRONTEND=noninteractive
55

66
RUN install_packages \
7+
patch \
78
build-essential \
89
libraspberrypi0 \
910
procps \
@@ -25,6 +26,7 @@ RUN install_packages \
2526
RUN install_packages \
2627
libharfbuzz-bin \
2728
libwebp6 \
29+
libjasper1 \
2830
libilmbase25 \
2931
libgstreamer1.0-0 \
3032
libavcodec-extra58 \

docker/Dockerfile arm64

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
FROM balenalib/raspberrypi3-64:bullseye-20240304
2+
3+
ENV QEMU_CPU=max
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
6+
RUN install_packages \
7+
build-essential \
8+
libraspberrypi0 \
9+
procps \
10+
sudo \
11+
wget \
12+
unzip \
13+
xz-utils \
14+
ffmpeg \
15+
portaudio19-dev \
16+
python3 \
17+
python3-pip \
18+
python3-dev \
19+
libopenjp2-7-dev \
20+
libtiff5 \
21+
libatlas-base-dev \
22+
libhdf5-dev \
23+
alsa-utils \
24+
espeak
25+
RUN install_packages \
26+
libharfbuzz-bin \
27+
libwebp6 \
28+
libilmbase25 \
29+
libgstreamer1.0-0 \
30+
libavcodec-extra58 \
31+
libavformat58
32+
RUN install_packages \
33+
libopencv-dev \
34+
zbar-tools \
35+
libzbar0 \
36+
sox \
37+
libsox-fmt-all \
38+
libopenblas-dev
39+
RUN install_packages \
40+
avrdude \
41+
tesseract-ocr \
42+
tesseract-ocr-eng \
43+
tesseract-ocr-ita \
44+
tesseract-ocr-fra \
45+
tesseract-ocr-spa \
46+
tesseract-ocr-deu
47+
48+
ENV READTHEDOCS=True
49+
ADD requirements.txt /tmp/.
50+
RUN pip install --upgrade pip && \
51+
pip install --no-cache-dir -r /tmp/requirements.txt
52+
53+
RUN mkdir -p /coderbot && \
54+
mkdir -p /coderbot/data && \
55+
mkdir -p /coderbot/logs && \
56+
mkdir -p /coderbot/cnn_modules && \
57+
mkdir -p /coderbot/coderbot && \
58+
mkdir -p /coderbot/defaults && \
59+
mkdir -p /coderbot/sounds
60+
61+
ADD coderbot /coderbot/coderbot/.
62+
ADD defaults /coderbot/defaults/.
63+
ADD sounds /coderbot/sounds/.
64+
65+
ADD docker/scripts/*.sh /tmp/.
66+
RUN /tmp/install_generic_cnn_models.sh
67+
RUN /tmp/install_lib_firmware.sh
68+
ADD docker/start.sh /coderbot/.
69+
70+
ARG CODERBOT_VERSION
71+
ENV CODERBOT_VERSION=${CODERBOT_VERSION}
72+
73+
ENTRYPOINT /coderbot/start.sh

0 commit comments

Comments
 (0)