From 32f9fcbd68f3fc8f3144d3fb3fe83ee59437a5e6 Mon Sep 17 00:00:00 2001 From: Sergey Fayngold Date: Sat, 5 Jun 2021 00:43:56 +0200 Subject: Add arm support by switching to openjdk:16-slim-buster and buildx --- .github/workflows/main.yml | 7 +++++++ .github/workflows/test.yml | 7 +++++++ Dockerfile | 4 ++-- Makefile | 11 ++++++----- Makefile.version | 1 + 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b679a22..3fddc7e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,6 +16,13 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + - name: Set environment variables run: | make envout >> ${GITHUB_ENV} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 284e4bd..de95a7f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,6 +12,13 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + - name: Set environment variables run: | make envout >> ${GITHUB_ENV} diff --git a/Dockerfile b/Dockerfile index f2a69c4..98473cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM openjdk:14-alpine +FROM openjdk:16-slim-buster # see Makefile.version ARG VERSION MAINTAINER Silvio Fricke -RUN apk add --no-cache libgomp gcompat libstdc++ +RUN apt-get update && apt-get install -y wget unzip && rm -rf /var/lib/apt/lists/* RUN wget https://www.languagetool.org/download/LanguageTool-$VERSION.zip && \ unzip LanguageTool-$VERSION.zip && \ diff --git a/Makefile b/Makefile index e17c249..e8c9d31 100644 --- a/Makefile +++ b/Makefile @@ -5,13 +5,14 @@ envout: @echo "VERSION=$(VERSION)" @echo "BUILDARG_VERSION=$(BUILDARG_VERSION)" @echo "IMAGENAME=$(IMAGENAME)" + @echo "BUILDARG_PLATFORM=$(BUILDARG_PLATFORM)" prepare: sudo apt-get -qq -y install curl build: - docker build $(BUILDARG_VERSION) -t $(IMAGENAME):latest . - docker tag $(IMAGENAME):latest $(IMAGENAME):$(VERSION) + docker buildx build $(BUILDARG_VERSION) $(BUILDARG_PLATFORM) -t $(IMAGENAME):latest . + docker buildx build $(BUILDARG_VERSION) --load -t $(IMAGENAME):latest . test: test-cleanup.1 test: TESTIPADDRESS=$(subst ",,$(shell docker inspect languagetool | jq '.[0].NetworkSettings.IPAddress')) @@ -23,7 +24,7 @@ test: test-run-test-fr test: test-cleanup.2 test-start: - docker run -d --name languagetool -p 8010:8010 $(IMAGENAME):$(VERSION) + docker run -d --name languagetool -p 8010:8010 $(IMAGENAME):latest sleep 3 test-print-ip-address: @@ -60,5 +61,5 @@ tag: tag-push .PHONY: tag-push tag-push: - docker push $(IMAGENAME):latest - docker push $(IMAGENAME):$(VERSION) + docker buildx build $(BUILDARG_VERSION) $(BUILDARG_PLATFORM) -t $(IMAGENAME):latest . --push + docker buildx build $(BUILDARG_VERSION) $(BUILDARG_PLATFORM) -t $(IMAGENAME):$(VERSION) . --push diff --git a/Makefile.version b/Makefile.version index 521f2ca..cf0bb63 100644 --- a/Makefile.version +++ b/Makefile.version @@ -1,3 +1,4 @@ VERSION := 5.3 BUILDARG_VERSION := --build-arg VERSION=$(VERSION) IMAGENAME := docker.io/silviof/docker-languagetool +BUILDARG_PLATFORM := --platform linux/amd64,linux/arm64/v8 -- cgit v1.2.3