diff --git a/.github/workflows/build_bundle-cuda.yaml b/.github/workflows/build_bundle-cuda.yaml new file mode 100644 index 0000000..236856d --- /dev/null +++ b/.github/workflows/build_bundle-cuda.yaml @@ -0,0 +1,63 @@ +name: 'Build restreamer:cuda' + +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.bundle.cuda.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.bundle + build-args: | + RESTREAMER_UI_IMAGE=datarhei/restreamer-ui:${{ env.RESTREAMER_UI_VERSION }} + FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-${{ env.OS_VERSION }}-cuda-${{ env.FFMPEG_VERSION }}-${{ env.CUDA_VERSION }} + CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }} + platforms: linux/amd64 + push: true + tags: | + datarhei/restreamer:cuda-${{ env.RELEASE }} + datarhei/restreamer:cuda-latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/build_bundle-rpi.yaml b/.github/workflows/build_bundle-rpi.yaml new file mode 100644 index 0000000..cd6757e --- /dev/null +++ b/.github/workflows/build_bundle-rpi.yaml @@ -0,0 +1,63 @@ +name: 'Build restreamer:rpi' + +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.bundle.rpi.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.bundle + build-args: | + RESTREAMER_UI_IMAGE=datarhei/restreamer-ui:${{ env.RESTREAMER_UI_VERSION }} + FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-rpi-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }} + CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }} + platforms: linux/arm/v7 + push: true + tags: | + datarhei/restreamer:rpi-${{ env.RELEASE }} + datarhei/restreamer:rpi-latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/build_bundle-vaapi.yaml b/.github/workflows/build_bundle-vaapi.yaml new file mode 100644 index 0000000..41fb668 --- /dev/null +++ b/.github/workflows/build_bundle-vaapi.yaml @@ -0,0 +1,63 @@ +name: 'Build restreamer:vaapi' + +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.bundle.vaapi.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.bundle + build-args: | + RESTREAMER_UI_IMAGE=datarhei/restreamer-ui:${{ env.RESTREAMER_UI_VERSION }} + FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-vaapi-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }} + CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }} + platforms: linux/amd64 + push: true + tags: | + datarhei/restreamer:vaapi-${{ env.RELEASE }} + datarhei/restreamer:vaapi-latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/build_bundle.yaml b/.github/workflows/build_bundle.yaml new file mode 100644 index 0000000..d4665ba --- /dev/null +++ b/.github/workflows/build_bundle.yaml @@ -0,0 +1,63 @@ +name: 'Build restreamer' + +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.bundle.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.bundle + build-args: | + RESTREAMER_UI_IMAGE=datarhei/restreamer-ui:${{ env.RESTREAMER_UI_VERSION }} + CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }} + FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }} + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + tags: | + datarhei/restreamer:${{ env.RELEASE }} + datarhei/restreamer:latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new diff --git a/.github_build/Build.bundle.cuda.env b/.github_build/Build.bundle.cuda.env new file mode 100644 index 0000000..71195c3 --- /dev/null +++ b/.github_build/Build.bundle.cuda.env @@ -0,0 +1,8 @@ +# RESTREAMER CUDA BUNDLE +OS_NAME=ubuntu +OS_VERSION=20.04 +RESTREAMER_UI_VERSION=1.1.0 +CORE_VERSION=16.8.0 +FFMPEG_VERSION=4.4.2 +CUDA_VERSION=11.4.2 +RELEASE=2.1.0 diff --git a/.github_build/Build.bundle.env b/.github_build/Build.bundle.env new file mode 100644 index 0000000..a37a750 --- /dev/null +++ b/.github_build/Build.bundle.env @@ -0,0 +1,7 @@ +# RESTREAMER BUNDLE +OS_NAME=alpine +OS_VERSION=3.15 +RESTREAMER_UI_VERSION=1.1.0 +CORE_VERSION=16.8.0 +FFMPEG_VERSION=4.4.2 +RELEASE=2.1.0 diff --git a/.github_build/Build.bundle.rpi.env b/.github_build/Build.bundle.rpi.env new file mode 100644 index 0000000..8fa2a9e --- /dev/null +++ b/.github_build/Build.bundle.rpi.env @@ -0,0 +1,7 @@ +# RESTREAMER RPI BUNDLE +OS_NAME=alpine +OS_VERSION=3.15 +RESTREAMER_UI_VERSION=1.1.0 +CORE_VERSION=16.8.0 +FFMPEG_VERSION=4.4.2 +RELEASE=2.1.0 diff --git a/.github_build/Build.bundle.vaapi.env b/.github_build/Build.bundle.vaapi.env new file mode 100644 index 0000000..b82d752 --- /dev/null +++ b/.github_build/Build.bundle.vaapi.env @@ -0,0 +1,7 @@ +# RESTREAMER VAAPI BUNDLE +OS_NAME=alpine +OS_VERSION=3.15 +RESTREAMER_UI_VERSION=1.1.0 +CORE_VERSION=16.8.0 +FFMPEG_VERSION=4.4.2 +RELEASE=2.1.0