From 3f7d82a967a504a8a551ca35ae7519fe63d802a5 Mon Sep 17 00:00:00 2001 From: Zygmunt Krynicki Date: Wed, 1 Feb 2023 14:37:52 +0100 Subject: [PATCH] Add GitHub workflow that smoke-builds all extensions This is known to pass, today, on x86_64 and fail on aarch64 due to https://github.com/eclipse/hawkbit-extensions/issues/84 Since the goal is to test unreleased HawkBit + unreleased HawkBit extensions, both are built in sequence to satisfy dependencies that are not available through maven as releases. HawkBit tests are skipped to speed up the build process. Signed-off-by: Zygmunt Krynicki --- .github/workflows/main.yml | 14 ++++++++++++++ Dockerfile | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .github/workflows/main.yml create mode 100644 Dockerfile diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..a23355b --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,14 @@ +name: Build against current HawkBit + +on: + pull_request: + +jobs: + build-without-push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Smoke build in docker + uses: docker/build-push-action@v3 + with: + push: false diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..af44a97 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM ubuntu:22.04 AS build + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y openjdk-11-jdk-headless maven git + +WORKDIR /src +RUN git clone https://github.com/eclipse/hawkbit +WORKDIR /src/hawkbit +RUN mvn --quiet --batch-mode --threads 1C dependency:go-offline dependency:resolve-plugins +RUN mvn --quiet --batch-mode --threads 1C --define=skipTests package +RUN mvn --quiet --batch-mode --threads 1C --define=skipTests --offline install + +WORKDIR /src/hawkbit-extensions +COPY . . +RUN mvn --quiet --batch-mode --threads 1C dependency:go-offline dependency:resolve-plugins +RUN mvn --quiet --batch-mode --threads 1C package +RUN mvn --quiet --batch-mode --threads 1C --offline install