diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e074af..049acd9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,10 +4,9 @@ on: push: branches: - master - tags: - - '*' pull_request: - + branches: + - master jobs: build: @@ -18,10 +17,10 @@ jobs: fail-fast: false matrix: go: - - 1.13.10 - 1.14.2 platform: - { on: ubuntu-18.04, name: linux } + - { on: windows-2019, name: win } steps: - uses: actions/checkout@v2 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fbc99da --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM openjdk:15 + +RUN set -o errexit -o nounset && echo "OSTYPE:${OSTYPE}" + +LABEL maintainer="DockerWare.github.io" diff --git a/Dockerfile.test b/Dockerfile.test new file mode 100644 index 0000000..64a1d5c --- /dev/null +++ b/Dockerfile.test @@ -0,0 +1,28 @@ +FROM openjdk:OPENJDK_VERSION + +# Get android sdk, ndk, and rest of the stuff needed to build the android app. +ENV ANDROID_SDK_ROOT /usr/lib/android-sdk +ENV ANDROID_NDK_HOME $ANDROID_SDK_ROOT/ndk/ANDROID_NDK_VERSION +ENV PATH $ANDROID_SDK_ROOT/tools/bin:$PATH +ENV PATH $ANDROID_SDK_ROOT/build-tools/ANDROID_BUILD_TOOLS_VERSION:$PATH +ENV PATH $ANDROID_SDK_ROOT/platform-tools:$PATH +RUN set -o errexit -o nounset &&\ + echo "Downloading ANDROID SDK TOOLS" &&\ + curl -sO https://dl.google.com/android/repository/ANDROID_SDK_TOOLS_FILENAME &&\ + echo "Checking download hash" &&\ + echo 'ANDROID_SDK_TOOLS_CHECKSUM ANDROID_SDK_TOOLS_FILENAME' | sha256sum -c &&\ + echo "Installing ANDROID SDK TOOLS" &&\ + unzip -d $ANDROID_SDK_ROOT ANDROID_SDK_TOOLS_FILENAME &&\ + rm ANDROID_SDK_TOOLS_FILENAME &&\ + yes | sdkmanager --sdk_root=$ANDROID_SDK_ROOT --licenses &&\ + sdkmanager --sdk_root=$ANDROID_SDK_ROOT --update &&\ + sdkmanager --sdk_root=$ANDROID_SDK_ROOT 'build-tools;ANDROID_BUILD_TOOLS_VERSION' + +RUN echo ${OSTYPE} + +LABEL maintainer="DockerWare.github.io" \ + openjdk.version="OPENJDK_VERSION" \ + gradle.version="GRADLE_VERSION" \ + android.ndk.version="ANDROID_NDK_VERSION" \ + android.sdk.tools.version="ANDROID_SDK_TOOLS_VERSION" \ + go.version="GO_VERSION" diff --git a/Makefile b/Makefile index 9969eb1..51fccc4 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ +SHELL = /bin/bash -o pipefail .SUFFIXES: .PHONY: all all: build push -REPO ?= docker.pkg.github.com/dockerware/goapp/go-ndk - +REPO ?= docker.pkg.github.com/dockerware/goapp/test PLATFORM ?= linux ARCH ?= amd64 @@ -23,45 +23,14 @@ ANDROID_COMPILE_SDK_VERSION ?= 29 ANDROID_BUILD_TOOLS_VERSION ?= 29.0.3 ANDROID_NDK_VERSION ?= 21.1.6352462 # r21b -TAG ?= $(GO_VERSION)-$(ANDROID_NDK_VERSION) +TAG ?= $(PLATFORM) DOCKERFILE = Dockerfile.$(PLATFORM)-$(TAG) -.PHONY: rebuild -rebuild: clean build -.PHONY: build build: Dockerfile docker build \ - --force-rm \ - --tag $(REPO) \ - --tag $(REPO):$(TAG) . + --tag $(REPO):$(TAG) \ + . -.PHONY: push push: build docker push $(REPO):$(TAG) - -.PHONY: clean -clean: - rm -f Dockerfile $(DOCKERFILE) - -Dockerfile: $(DOCKERFILE) - @rm -f Dockerfile - ln -s $(DOCKERFILE) $(@) - -$(DOCKERFILE): Dockerfile.in - m4 \ - -DOPENJDK_VERSION=$(OPENJDK_VERSION) \ - -DGO_VERSION=$(GO_VERSION) \ - -DGO_CHECKSUM=$(shell < checksum.txt grep ${GO_FILENAME} | cut -f1) \ - -DGO_FILENAME=$(GO_FILENAME) \ - -DGOMOBILE_VERSION=$(GOMOBILE_VERSION) \ - -DGRADLE_VERSION=$(GRADLE_VERSION) \ - -DGRADLE_CHECKSUM=$(shell < checksum.txt grep ${GRADLE_FILENAME} | cut -f1) \ - -DGRADLE_FILENAME=$(GRADLE_FILENAME) \ - -DANDROID_SDK_TOOLS_VERSION=$(ANDROID_SDK_TOOLS_VERSION) \ - -DANDROID_SDK_TOOLS_CHECKSUM=$(shell < checksum.txt grep ${ANDROID_SDK_TOOLS_FILENAME} | cut -f1) \ - -DANDROID_SDK_TOOLS_FILENAME=$(ANDROID_SDK_TOOLS_FILENAME) \ - -DANDROID_COMPILE_SDK_VERSION=$(ANDROID_COMPILE_SDK_VERSION) \ - -DANDROID_BUILD_TOOLS_VERSION=$(ANDROID_BUILD_TOOLS_VERSION) \ - -DANDROID_NDK_VERSION=$(ANDROID_NDK_VERSION) \ - Dockerfile.in > $(@) diff --git a/checksum.txt b/checksum.txt index bc297fd..6cbf0a9 100644 --- a/checksum.txt +++ b/checksum.txt @@ -2,3 +2,5 @@ 8a4cbc9f2b95d114c38f6cbe94a45372d48c604b707db2057c787398dfbf8e7f go1.13.10.linux-amd64.tar.gz 038794feef1f4745c6347107b6726279d1c824f3fc634b60f86ace1e9fbd1768 gradle-6.3-bin.zip f10f9d5bca53cc27e2d210be2cbc7c0f1ee906ad9b868748d74d62e10f2c8275 commandlinetools-linux-6200805_latest.zip +8072ca0ad737eb3142793829a8682c685ae8a30a3b8f9b884fe8c617931af826 commandlinetools-win-6200805_latest.zip +23f0626336a98d70aff7311a73292026af31bc577c6f06b509cd4ad33752313e commandlinetools-mac-6200805_latest.zip