Skip to content

Commit 0ad6e8c

Browse files
authored
Add images for driverstation building (#73)
1 parent 6edd83a commit 0ad6e8c

4 files changed

Lines changed: 118 additions & 2 deletions

File tree

.github/workflows/main.yml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,39 @@ jobs:
2626
password: ${{ secrets.DOCKER_PASSWORD }}
2727
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
2828
- run: make UBUNTU=${{ matrix.ubuntu-version }} push
29-
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
29+
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
30+
31+
build-ds:
32+
name: Build Driver Station
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
- run: make update/ds
37+
- run: make build/ds
38+
- name: Log in to docker
39+
uses: docker/login-action@v3
40+
with:
41+
username: ${{ secrets.DOCKER_USERNAME }}
42+
password: ${{ secrets.DOCKER_PASSWORD }}
43+
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
44+
- run: make push/ds
45+
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
46+
47+
build-arm-ds:
48+
name: Build Driver Station Arm
49+
runs-on: ubuntu-24.04-arm
50+
steps:
51+
- uses: actions/checkout@v4
52+
- run: make update/armds
53+
- run: make build/armds
54+
- name: Log in to docker
55+
uses: docker/login-action@v3
56+
with:
57+
username: ${{ secrets.DOCKER_USERNAME }}
58+
password: ${{ secrets.DOCKER_PASSWORD }}
59+
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
60+
- run: make push/armds
61+
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
3062

3163
build-arm:
3264
name: Build ARM
@@ -46,7 +78,7 @@ jobs:
4678
password: ${{ secrets.DOCKER_PASSWORD }}
4779
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
4880
- run: make UBUNTU=${{ matrix.debian-version }} push/arm-base
49-
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
81+
if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }}
5082

5183
build-minimal:
5284
name: Build Minimal

Makefile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ UBUNTU?=22.04
22
OPENSDK_UBUNTU?=20.04
33
DEBIAN?=bookworm
44

5+
DS?=trixie
6+
57
DOCKER_USER?=wpilib
68

79
.PHONY: usage update update/arm push build \
@@ -93,3 +95,23 @@ save/minimal-cross:
9395
docker save ${DOCKER_USER}/raspbian-cross-ubuntu-minimal:bookworm-${UBUNTU} | zstd > raspbian.tar.zst
9496

9597
include cross-ubuntu-py/py.mk
98+
99+
update/ds:
100+
docker pull docker.io/debian:${DS}
101+
102+
build/ds:
103+
cd driverstation-base && \
104+
docker build -t ${DOCKER_USER}/driverstation-base:x64 -f Dockerfile.x64 .
105+
106+
push/ds:
107+
docker push ${DOCKER_USER}/driverstation-base:x64
108+
109+
update/armds:
110+
docker pull docker.io/arm64v8/debian:${DS}
111+
112+
build/armds:
113+
cd driverstation-base && \
114+
docker build -t ${DOCKER_USER}/driverstation-base:arm64 -f Dockerfile.arm64 .
115+
116+
push/armds:
117+
docker push ${DOCKER_USER}/driverstation-base:arm64
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM arm64v8/debian:trixie
2+
3+
RUN apt-get update && apt-get install -y apt-transport-https \
4+
ca-certificates \
5+
gnupg \
6+
tzdata \
7+
build-essential \
8+
ca-certificates \
9+
cmake \
10+
curl \
11+
fakeroot \
12+
g++ --no-install-recommends \
13+
gcc \
14+
gdb \
15+
gfortran \
16+
git \
17+
libc6-dev \
18+
make \
19+
sudo \
20+
unzip \
21+
wget \
22+
zip \
23+
ninja-build \
24+
libusb-1.0-0-dev \
25+
libudev-dev \
26+
libinput-dev \
27+
libavahi-client-dev \
28+
libavahi-common-dev \
29+
libicu-dev
30+
31+
WORKDIR /

driverstation-base/Dockerfile.x64

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM debian:trixie
2+
3+
RUN apt-get update && apt-get install -y apt-transport-https \
4+
ca-certificates \
5+
gnupg \
6+
tzdata \
7+
build-essential \
8+
ca-certificates \
9+
cmake \
10+
curl \
11+
fakeroot \
12+
g++ --no-install-recommends \
13+
gcc \
14+
gdb \
15+
gfortran \
16+
git \
17+
libc6-dev \
18+
make \
19+
sudo \
20+
unzip \
21+
wget \
22+
zip \
23+
ninja-build \
24+
libusb-1.0-0-dev \
25+
libudev-dev \
26+
libinput-dev \
27+
libavahi-client-dev \
28+
libavahi-common-dev \
29+
libicu-dev
30+
31+
WORKDIR /

0 commit comments

Comments
 (0)