From 02e03771d4908ce063b3fea306f33eb289d071fb Mon Sep 17 00:00:00 2001 From: Adrien Beraud <adrien.beraud@savoirfairelinux.com> Date: Sat, 25 Mar 2023 14:39:03 -0400 Subject: [PATCH] docker: add Alpine deps --- .github/workflows/release-package.yml | 35 +++++++++++++++++++++++++++ docker/DockerfileAlpineDeps | 23 ++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 docker/DockerfileAlpineDeps diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index d2ee16e5..f87cc595 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -13,6 +13,7 @@ env: IMAGE_NAME_LLVM: ${{ github.repository }}/opendht-llvm IMAGE_NAME_DHTNODE: ${{ github.repository }}/dhtnode IMAGE_NAME_ALPINE: ${{ github.repository }}/opendht-alpine + IMAGE_NAME_ALPINE_DEPS: ${{ github.repository }}/opendht-deps-alpine jobs: build-and-push-deps-image: @@ -183,6 +184,40 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + build-and-push-image-alpine-deps: + name: Alpine Deps Docker image + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_ALPINE_DEPS }} + + - name: Build and push Docker image + uses: docker/build-push-action@v3 + with: + context: . + file: docker/DockerfileAlpineDeps + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-and-push-image-alpine: name: Alpine Docker image runs-on: ubuntu-latest diff --git a/docker/DockerfileAlpineDeps b/docker/DockerfileAlpineDeps new file mode 100644 index 00000000..557942e1 --- /dev/null +++ b/docker/DockerfileAlpineDeps @@ -0,0 +1,23 @@ +FROM alpine:3.17 +LABEL maintainer="Adrien Béraud <adrien.beraud@savoirfairelinux.com>" +LABEL org.opencontainers.image.source https://github.com/savoirfairelinux/opendht + +RUN apk add --no-cache \ + build-base cmake ninja git wget \ + cython python3-dev py3-setuptools \ + ncurses-dev readline-dev nettle-dev \ + cppunit-dev gnutls-dev jsoncpp-dev \ + argon2-dev openssl-dev fmt-dev \ + http-parser-dev asio-dev msgpack-cxx-dev \ + && rm -rf /var/cache/apk/* + +RUN echo "*** Downloading RESTinio ***" \ + && mkdir restinio && cd restinio \ + && wget https://github.com/aberaud/restinio/archive/bbaa034dbcc7555ce67df0f8a1475591a7441733.tar.gz \ + && tar -xzf bbaa034dbcc7555ce67df0f8a1475591a7441733.tar.gz \ + && cd restinio-bbaa034dbcc7555ce67df0f8a1475591a7441733/dev \ + && cmake -DCMAKE_INSTALL_PREFIX=/usr -DRESTINIO_TEST=OFF -DRESTINIO_SAMPLE=OFF \ + -DRESTINIO_INSTALL_SAMPLES=OFF -DRESTINIO_BENCH=OFF -DRESTINIO_INSTALL_BENCHES=OFF \ + -DRESTINIO_FIND_DEPS=ON -DRESTINIO_ALLOW_SOBJECTIZER=Off -DRESTINIO_USE_BOOST_ASIO=none . \ + && make -j8 && make install \ + && cd ../../.. && rm -rf restinio -- GitLab