You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2022/02/08 03:50:28 UTC

[couchdb-ci] 04/04: Add image builder action

This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch multi-arch-updates
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit 53539f480d9ae255960e2b3a7abf775b67cee646
Author: Adam Kocoloski <ko...@apache.org>
AuthorDate: Mon Feb 7 22:13:35 2022 -0500

    Add image builder action
---
 .github/workflows/image-builder.yml | 63 +++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/.github/workflows/image-builder.yml b/.github/workflows/image-builder.yml
new file mode 100644
index 0000000..c98dcc5
--- /dev/null
+++ b/.github/workflows/image-builder.yml
@@ -0,0 +1,63 @@
+name: Image Builder
+
+on:
+  workflow_dispatch:
+    inputs:
+      dockerfile:
+        description: 'Dockerfile'
+        required: true
+        default: 'debian-bullseye'
+      erlangVersion:
+        description: 'Erlang/OTP Version'
+        required: true
+        default: '24.2'
+      elixirVersion:
+        description: 'Elixir Version'
+        required: true
+        default: 'v1.12.3'
+      platforms:
+        description: 'Target Platforms'
+        required: true
+        default: 'linux/amd64'
+
+jobs:
+  build-and-push-image:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Authenticate to container registry
+        uses: docker/login-action@v1
+        with:
+          registry: ghcr.io
+          username: ${{ github.actor }}
+          password: ${{ secrets.GITHUB_TOKEN }}
+
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+
+      - name: Set up Docker Buildx
+        id: buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Inspect builder
+        run: |
+          echo "Name:      ${{ steps.buildx.outputs.name }}"
+          echo "Endpoint:  ${{ steps.buildx.outputs.endpoint }}"
+          echo "Status:    ${{ steps.buildx.outputs.status }}"
+          echo "Flags:     ${{ steps.buildx.outputs.flags }}"
+          echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
+
+      - name: Build and push
+        uses: docker/build-push-action@v2
+        with:
+          file: dockerfiles/${{ github.event.inputs.dockerfile }}
+
+          push: true
+
+          platforms: ${{ github.event.inputs.platforms }}
+
+          build-args: |
+            erlangversion=${{ github.event.inputs.erlangVersion }}
+            elixirversion=${{ github.event.inputs.elixirVersion }}
+          tags: |
+            ghcr.io/apache/couchdb-ci:${{ github.event.inputs.dockerfile }}-erlang-${{ github.event.inputs.erlangVersion }}