From 4a521e9c17c6fb0ca8aaa6a6df149170db9f2ac9 Mon Sep 17 00:00:00 2001 From: Jan Stabenow Date: Fri, 3 Jun 2022 20:00:29 +0200 Subject: [PATCH] Add docker workflow --- .github/workflows/build_restreamer-ui.yaml | 61 ++++++++++++++++++++++ .github_build/Build.restreamer-ui.env | 2 + Dockerfile | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build_restreamer-ui.yaml create mode 100644 .github_build/Build.restreamer-ui.env diff --git a/.github/workflows/build_restreamer-ui.yaml b/.github/workflows/build_restreamer-ui.yaml new file mode 100644 index 0000000..710439b --- /dev/null +++ b/.github/workflows/build_restreamer-ui.yaml @@ -0,0 +1,61 @@ +name: 'Build restreamer-ui' + +on: + workflow_dispatch: + push: + branches-ignore: + - '**' + +jobs: + docker: + runs-on: [self-hosted] + steps: + - name: Checkout + uses: actions/checkout@v2 + + - uses: cardinalby/export-env-action@v1 + with: + envFile: '.github_build/Build.restreamer-ui.env' + export: 'true' + expandWithJobEnv: 'true' + expand: 'true' + + - name: Set up QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build Multi-Arch + uses: docker/build-push-action@v2 + with: + builder: ${{ steps.buildx.outputs.name }} + context: . + file: ./Dockerfile + build-args: | + PUBLIC_URL=/ui + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + tags: | + datarhei/restreamer-ui:${{ env.RELEASE }} + datarhei/restreamer-ui:latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new diff --git a/.github_build/Build.restreamer-ui.env b/.github_build/Build.restreamer-ui.env new file mode 100644 index 0000000..9deef86 --- /dev/null +++ b/.github_build/Build.restreamer-ui.env @@ -0,0 +1,2 @@ +# RESTREAMER UI +RELEASE=1.1.0 diff --git a/Dockerfile b/Dockerfile index 103cde9..f378979 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM node:17.9.0-alpine3.15 ARG NODE_SPACE_SIZE=10240 ENV NODE_OPTIONS="--openssl-legacy-provider --max-old-space-size=$NODE_SPACE_SIZE" -ENV PUBLIC_URL "/" +ARG PUBLIC_URL "/" COPY . /ui