Skip to content

Commit 3351937

Browse files
authored
Added linux/riscv64 support
* Added linux/riscv64 platform and a build-time cargo dependency for the server image. * Added linux/riscv64 platform for the client image. * Added linux/riscv64 to platforms in GitHub Actions. * Added libgcc runtime dependency to server/Dockerfile-alpine . This fixes "Error loading shared library libgcc_s.so.1: No such file or directory" encountered when running the alpine image on riscv64 (and potentially other architectures where nh3 package must be build from sources). * /root/.cache is now cleaned up in server/Dockerfile-alpine . * Increased timeout-minutes to 30 for both jobs in build_client.yml . * Increased timeout-minutes to 120 for docker_buildx_debian and to 240 for docker_buildx_alpine in build_server.yml .
1 parent 7554d64 commit 3351937

File tree

6 files changed

+20
-9
lines changed

6 files changed

+20
-9
lines changed

.github/workflows/build_client.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919
jobs:
2020
docker_buildx_debian:
2121
runs-on: ubuntu-latest
22-
timeout-minutes: 15
22+
timeout-minutes: 30
2323
steps:
2424
- name: Perform setup steps
2525
uses: JonasAlfredsson/checkout-qemu-buildx@v2
@@ -41,6 +41,7 @@ jobs:
4141
linux/386
4242
linux/arm64
4343
linux/arm/v7
44+
linux/riscv64
4445
push: ${{ github.event_name != 'pull_request' }}
4546
tags: |
4647
jonasal/devpi-client:latest
@@ -51,7 +52,7 @@ jobs:
5152
5253
docker_buildx_alpine:
5354
runs-on: ubuntu-latest
54-
timeout-minutes: 15
55+
timeout-minutes: 30
5556
steps:
5657
- name: Perform setup steps
5758
uses: JonasAlfredsson/checkout-qemu-buildx@v2
@@ -73,6 +74,7 @@ jobs:
7374
linux/386
7475
linux/arm64
7576
linux/arm/v7
77+
linux/riscv64
7678
push: ${{ github.event_name != 'pull_request' }}
7779
tags: |
7880
jonasal/devpi-client:latest-alpine

.github/workflows/build_server.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919
jobs:
2020
docker_buildx_debian:
2121
runs-on: ubuntu-latest
22-
timeout-minutes: 40
22+
timeout-minutes: 120
2323
steps:
2424
- name: Perform setup steps
2525
uses: JonasAlfredsson/checkout-qemu-buildx@v2
@@ -41,6 +41,7 @@ jobs:
4141
linux/386
4242
linux/arm64
4343
linux/arm/v7
44+
linux/riscv64
4445
push: ${{ github.event_name != 'pull_request' }}
4546
tags: |
4647
jonasal/devpi-server:latest
@@ -51,7 +52,7 @@ jobs:
5152
5253
docker_buildx_alpine:
5354
runs-on: ubuntu-latest
54-
timeout-minutes: 40
55+
timeout-minutes: 240
5556
steps:
5657
- name: Perform setup steps
5758
uses: JonasAlfredsson/checkout-qemu-buildx@v2
@@ -73,6 +74,7 @@ jobs:
7374
linux/386
7475
linux/arm64
7576
linux/arm/v7
77+
linux/riscv64
7678
push: ${{ github.event_name != 'pull_request' }}
7779
tags: |
7880
jonasal/devpi-server:latest-alpine

client/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ build-alpine: Makefile Dockerfile
1111
# Ssee link for more info about how these work:
1212
# https://github.com/JonasAlfredsson/docker-nginx-certbot/issues/28
1313
dev: Makefile Dockerfile
14-
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 --tag jonasal/devpi-client:dev -f ./Dockerfile ./
14+
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/riscv64 --tag jonasal/devpi-client:dev -f ./Dockerfile ./
1515

1616
dev-alpine: Makefile Dockerfile
17-
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 --tag jonasal/devpi-client:dev-alpine -f ./Dockerfile-alpine ./
17+
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/riscv64 --tag jonasal/devpi-client:dev-alpine -f ./Dockerfile-alpine ./

server/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@ RUN set -ex && \
1414
build-essential \
1515
libffi8 \
1616
libffi-dev \
17+
cargo \
1718
&& \
1819
# Install Python dependencies.
1920
pip install --no-cache-dir -r /requirements.txt && \
2021
# Remove everything that is no longer necessary.
2122
apt-get remove --purge -y \
2223
build-essential \
2324
libffi-dev \
25+
cargo \
2426
&& \
2527
apt-get autoremove -y && \
2628
apt-get clean && \

server/Dockerfile-alpine

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,18 @@ RUN apk add --no-cache \
1010
musl-dev \
1111
libffi \
1212
libffi-dev \
13+
cargo \
14+
libgcc \
1315
&& \
1416
pip install --no-cache-dir -r /requirements.txt \
1517
&& \
1618
apk del \
1719
gcc \
1820
musl-dev \
19-
libffi-dev
21+
libffi-dev \
22+
cargo \
23+
&& \
24+
rm -rf /root/.cache
2025

2126
COPY entrypoint.sh /
2227
ENTRYPOINT [ "/entrypoint.sh" ]

server/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ build-alpine: Makefile Dockerfile
1111
# See link for more info about how these work:
1212
# https://github.com/JonasAlfredsson/docker-nginx-certbot/issues/28
1313
dev: Makefile Dockerfile
14-
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 --tag jonasal/devpi-server:dev -f ./Dockerfile ./
14+
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/riscv64 --tag jonasal/devpi-server:dev -f ./Dockerfile ./
1515

1616
dev-alpine: Makefile Dockerfile
17-
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 --tag jonasal/devpi-server:dev-alpine -f ./Dockerfile-alpine ./
17+
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/riscv64 --tag jonasal/devpi-server:dev-alpine -f ./Dockerfile-alpine ./

0 commit comments

Comments
 (0)