Merge branch 'main' into dev
This commit is contained in:
commit
4c584a2a0b
22 changed files with 329 additions and 721 deletions
86
.github/workflows/build_base.yaml
vendored
Normal file
86
.github/workflows/build_base.yaml
vendored
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
name: "Build main base"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- "**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
runs-on: [self-hosted]
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- core: "16.14.0"
|
||||||
|
os: alpine
|
||||||
|
os_version: "3.19"
|
||||||
|
golang: golang:1.21-alpine3.19
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
|
||||||
|
branch: main
|
||||||
|
latest: yes
|
||||||
|
- core: "16.14.0"
|
||||||
|
os: ubuntu
|
||||||
|
os_version: "20.04"
|
||||||
|
golang: golang:1.21-alpine3.19
|
||||||
|
platforms: linux/amd64
|
||||||
|
branch: main
|
||||||
|
latest: yes
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ matrix.branch }}
|
||||||
|
|
||||||
|
- name: Docker meta
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
datarhei/base
|
||||||
|
tags: |
|
||||||
|
type=raw,value=core${{ matrix.core }}-${{ matrix.os }}${{ matrix.os_version }}
|
||||||
|
type=raw,value=${{ matrix.os }}-core-${{ matrix.os_version }}-${{ matrix.core}},enable=${{ matrix.latest == 'yes' }}
|
||||||
|
type=raw,value=${{ matrix.os }}-core-latest,enable=${{ matrix.latest == 'yes' }}
|
||||||
|
|
||||||
|
- 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@v4
|
||||||
|
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@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build Multi-Arch
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile
|
||||||
|
build-args: |
|
||||||
|
BUILD_IMAGE=${{ matrix.os }}:${{ matrix.os_version }}
|
||||||
|
GOLANG_IMAGE=${{ matrix.golang }}
|
||||||
|
platforms: ${{ matrix.platforms }}
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
|
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
||||||
62
.github/workflows/build_base_alpine.yaml
vendored
62
.github/workflows/build_base_alpine.yaml
vendored
|
|
@ -1,62 +0,0 @@
|
||||||
name: "Build base:alpine-core"
|
|
||||||
|
|
||||||
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.alpine.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: |
|
|
||||||
BUILD_IMAGE=${{ env.OS_NAME }}:${{ env.OS_VERSION }}
|
|
||||||
GOLANG_IMAGE=${{ env.GOLANG_IMAGE }}
|
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }}
|
|
||||||
datarhei/base:${{ env.OS_NAME }}-core-latest
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
83
.github/workflows/build_base_alpine_vod.yaml
vendored
83
.github/workflows/build_base_alpine_vod.yaml
vendored
|
|
@ -1,83 +0,0 @@
|
||||||
name: 'Build base:alpine-core:vod'
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
workflow_call:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- vod
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker:
|
|
||||||
runs-on: [self-hosted]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
branch:
|
|
||||||
- vod
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
ref: ${{ matrix.branch }}
|
|
||||||
|
|
||||||
- uses: actions-ecosystem/action-get-latest-tag@v1
|
|
||||||
id: get-latest-tag
|
|
||||||
with:
|
|
||||||
semver_only: true
|
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
|
||||||
with:
|
|
||||||
envFile: '.github_build/Build.alpine.env'
|
|
||||||
export: 'true'
|
|
||||||
expandWithJobEnv: 'true'
|
|
||||||
expand: 'true'
|
|
||||||
|
|
||||||
- name: Docker meta
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v4
|
|
||||||
with:
|
|
||||||
images: |
|
|
||||||
datarhei/base
|
|
||||||
tags: |
|
|
||||||
type=raw,value=${{ env.OS_NAME }}-core-vod,enable=${{ matrix.branch == 'vod' }}
|
|
||||||
|
|
||||||
- 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: |
|
|
||||||
BUILD_IMAGE=${{ env.OS_NAME }}:${{ env.OS_VERSION }}
|
|
||||||
GOLANG_IMAGE=${{ env.GOLANG_IMAGE }}
|
|
||||||
platforms: linux/amd64
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
name: "Build base:alpine-core:dev"
|
name: "Build dev base"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
@ -12,35 +12,32 @@ jobs:
|
||||||
runs-on: [self-hosted]
|
runs-on: [self-hosted]
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
branch:
|
include:
|
||||||
- dev
|
- os: alpine
|
||||||
|
os_version: "3.19"
|
||||||
|
golang: golang:1.22-alpine3.19
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
|
||||||
|
branch: dev
|
||||||
|
- os: ubuntu
|
||||||
|
os_version: "20.04"
|
||||||
|
golang: golang:1.22-alpine3.19
|
||||||
|
platforms: linux/amd64
|
||||||
|
branch: dev
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ matrix.branch }}
|
ref: ${{ matrix.branch }}
|
||||||
|
|
||||||
- uses: actions-ecosystem/action-get-latest-tag@v1
|
|
||||||
id: get-latest-tag
|
|
||||||
with:
|
|
||||||
semver_only: true
|
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
|
||||||
with:
|
|
||||||
envFile: ".github_build/Build.alpine.dev.env"
|
|
||||||
export: "true"
|
|
||||||
expandWithJobEnv: "true"
|
|
||||||
expand: "true"
|
|
||||||
|
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
datarhei/base
|
datarhei/base
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ env.OS_NAME }}-core-dev,enable=${{ matrix.branch == 'dev' }}
|
type=raw,value=core-${{ matrix.branch }}-${{ matrix.os }}${{ matrix.os_version }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@master
|
uses: docker/setup-qemu-action@master
|
||||||
|
|
@ -52,7 +49,7 @@ jobs:
|
||||||
uses: docker/setup-buildx-action@master
|
uses: docker/setup-buildx-action@master
|
||||||
|
|
||||||
- name: Cache Docker layers
|
- name: Cache Docker layers
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: /tmp/.buildx-cache
|
path: /tmp/.buildx-cache
|
||||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||||
|
|
@ -61,29 +58,26 @@ jobs:
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
uses: docker/login-action@v1
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Build Multi-Arch
|
- name: Build Multi-Arch
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
build-args: |
|
build-args: |
|
||||||
BUILD_IMAGE=${{ env.OS_NAME }}:${{ env.OS_VERSION }}
|
BUILD_IMAGE=${{ matrix.os }}:${{ matrix.os_version }}
|
||||||
GOLANG_IMAGE=${{ env.GOLANG_IMAGE }}
|
GOLANG_IMAGE=${{ matrix.golang }}
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
platforms: ${{ matrix.platforms }}
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
||||||
dockerBundle:
|
bundle:
|
||||||
uses: ./.github/workflows/build_bundle_dev.yaml
|
uses: ./.github/workflows/build_bundle_matrix_dev.yaml
|
||||||
secrets: inherit
|
|
||||||
dockerBundleRpi:
|
|
||||||
uses: ./.github/workflows/build_bundle-rpi_dev.yaml
|
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
62
.github/workflows/build_base_ubuntu.yaml
vendored
62
.github/workflows/build_base_ubuntu.yaml
vendored
|
|
@ -1,62 +0,0 @@
|
||||||
name: 'Build base:ubuntu-core'
|
|
||||||
|
|
||||||
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.ubuntu.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: |
|
|
||||||
BUILD_IMAGE=${{ env.OS_NAME }}:${{ env.OS_VERSION }}
|
|
||||||
GOLANG_IMAGE=${{ env.GOLANG_IMAGE }}
|
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }}
|
|
||||||
datarhei/base:${{ env.OS_NAME }}-core-latest
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
83
.github/workflows/build_base_ubuntu_dev.yaml
vendored
83
.github/workflows/build_base_ubuntu_dev.yaml
vendored
|
|
@ -1,83 +0,0 @@
|
||||||
name: 'Build datarhei/base:ubuntu-core-dev'
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
workflow_call:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- dev
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker:
|
|
||||||
runs-on: [self-hosted]
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
branch:
|
|
||||||
- dev
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
ref: ${{ matrix.branch }}
|
|
||||||
|
|
||||||
- uses: actions-ecosystem/action-get-latest-tag@v1
|
|
||||||
id: get-latest-tag
|
|
||||||
with:
|
|
||||||
semver_only: true
|
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
|
||||||
with:
|
|
||||||
envFile: '.github_build/Build.ubuntu.env'
|
|
||||||
export: 'true'
|
|
||||||
expandWithJobEnv: 'true'
|
|
||||||
expand: 'true'
|
|
||||||
|
|
||||||
- name: Docker meta
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v4
|
|
||||||
with:
|
|
||||||
images: |
|
|
||||||
datarhei/base
|
|
||||||
tags: |
|
|
||||||
type=raw,value=${{ env.OS_NAME }}-core-dev,enable=${{ matrix.branch == 'dev' }}
|
|
||||||
|
|
||||||
- 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: |
|
|
||||||
BUILD_IMAGE=${{ env.OS_NAME }}:${{ env.OS_VERSION }}
|
|
||||||
GOLANG_IMAGE=${{ env.GOLANG_IMAGE }}
|
|
||||||
platforms: linux/amd64
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
82
.github/workflows/build_base_vod.yaml
vendored
Normal file
82
.github/workflows/build_base_vod.yaml
vendored
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
name: "Build vod base"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- vod
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
runs-on: [self-hosted]
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: alpine
|
||||||
|
os_version: "3.19"
|
||||||
|
golang: golang:1.22-alpine3.19
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
branch: vod
|
||||||
|
key: alpine3.19
|
||||||
|
- os: alpine
|
||||||
|
os_version: "3.16"
|
||||||
|
golang: golang:1.19-alpine3.16
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
branch: vod
|
||||||
|
key: alpine3.16
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ matrix.branch }}
|
||||||
|
|
||||||
|
- name: Docker meta
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
datarhei/base
|
||||||
|
tags: |
|
||||||
|
type=raw,value=core-${{ matrix.branch }}-${{ matrix.os }}${{ matrix.os_version }}
|
||||||
|
|
||||||
|
- 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@v4
|
||||||
|
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@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build Multi-Arch
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile
|
||||||
|
build-args: |
|
||||||
|
BUILD_IMAGE=${{ matrix.os }}:${{ matrix.os_version }}
|
||||||
|
GOLANG_IMAGE=${{ matrix.golang }}
|
||||||
|
platforms: ${{ matrix.platforms }}
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
|
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
||||||
71
.github/workflows/build_bundle-cuda.yaml
vendored
71
.github/workflows/build_bundle-cuda.yaml
vendored
|
|
@ -1,71 +0,0 @@
|
||||||
name: 'Build core:cuda'
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: '7 5 * * *'
|
|
||||||
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.ubuntu.env'
|
|
||||||
export: 'true'
|
|
||||||
expandWithJobEnv: 'true'
|
|
||||||
expand: 'true'
|
|
||||||
|
|
||||||
- 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: |
|
|
||||||
CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }}
|
|
||||||
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-cuda-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }}-${{ env.CUDA_VERSION }}
|
|
||||||
platforms: linux/amd64
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/core:cuda-${{ env.CORE_VERSION }}
|
|
||||||
datarhei/core:cuda-latest
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
71
.github/workflows/build_bundle-rpi.yaml
vendored
71
.github/workflows/build_bundle-rpi.yaml
vendored
|
|
@ -1,71 +0,0 @@
|
||||||
name: "Build core:rpi"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: "7 5 * * *"
|
|
||||||
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.alpine.env"
|
|
||||||
export: "true"
|
|
||||||
expandWithJobEnv: "true"
|
|
||||||
expand: "true"
|
|
||||||
|
|
||||||
- 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: |
|
|
||||||
CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }}
|
|
||||||
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-rpi-${{ env.OS_VERSION_FFMPEG }}-${{ env.FFMPEG_VERSION }}
|
|
||||||
platforms: linux/arm/v7,linux/arm64
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/core:rpi-${{ env.CORE_VERSION }}
|
|
||||||
datarhei/core:rpi-latest
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
69
.github/workflows/build_bundle-rpi_dev.yaml
vendored
69
.github/workflows/build_bundle-rpi_dev.yaml
vendored
|
|
@ -1,69 +0,0 @@
|
||||||
name: "Build datarhei/core:rpi-dev"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
workflow_call:
|
|
||||||
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.alpine.dev.env"
|
|
||||||
export: "true"
|
|
||||||
expandWithJobEnv: "true"
|
|
||||||
expand: "true"
|
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
|
||||||
with:
|
|
||||||
envFile: ".github_build/Build.bundle.rpi.dev.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: |
|
|
||||||
CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-dev
|
|
||||||
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-rpi-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }}
|
|
||||||
platforms: linux/arm64,linux/arm/v7
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/core:rpi-dev
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
71
.github/workflows/build_bundle-vaapi.yaml
vendored
71
.github/workflows/build_bundle-vaapi.yaml
vendored
|
|
@ -1,71 +0,0 @@
|
||||||
name: 'Build core:vaapi'
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: '7 5 * * *'
|
|
||||||
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.ubuntu.env'
|
|
||||||
export: 'true'
|
|
||||||
expandWithJobEnv: 'true'
|
|
||||||
expand: 'true'
|
|
||||||
|
|
||||||
- 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: |
|
|
||||||
CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-${{ env.OS_VERSION }}-${{ env.CORE_VERSION }}
|
|
||||||
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-vaapi-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }}
|
|
||||||
platforms: linux/amd64
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/core:vaapi-${{ env.CORE_VERSION }}
|
|
||||||
datarhei/core:vaapi-latest
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
148
.github/workflows/build_bundle.yaml
vendored
148
.github/workflows/build_bundle.yaml
vendored
|
|
@ -1,71 +1,97 @@
|
||||||
name: 'Build core'
|
name: "Build main bundles"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
workflow_call:
|
||||||
- cron: '7 5 * * *'
|
schedule:
|
||||||
push:
|
- cron: "7 5 * * *"
|
||||||
branches-ignore:
|
push:
|
||||||
- '**'
|
branches-ignore:
|
||||||
|
- "**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
runs-on: [self-hosted]
|
runs-on: [self-hosted]
|
||||||
steps:
|
strategy:
|
||||||
- name: Checkout
|
matrix:
|
||||||
uses: actions/checkout@v2
|
include:
|
||||||
|
- core: "16.14.0"
|
||||||
|
core_os: alpine3.19
|
||||||
|
ffmpeg: "5.1.3"
|
||||||
|
ffmpeg_os: alpine3.16
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
branch: main
|
||||||
|
prefix:
|
||||||
|
latest: yes
|
||||||
|
- core: "16.14.0"
|
||||||
|
core_os: alpine3.19
|
||||||
|
ffmpeg: "5.1.3-rpi"
|
||||||
|
ffmpeg_os: alpine3.16
|
||||||
|
platforms: linux/arm64,linux/arm/v7
|
||||||
|
branch: main
|
||||||
|
prefix: rpi-
|
||||||
|
latest: yes
|
||||||
|
- core: "16.14.0"
|
||||||
|
core_os: ubuntu20.04
|
||||||
|
ffmpeg: "5.1.3-vaapi"
|
||||||
|
ffmpeg_os: ubuntu20.04
|
||||||
|
platforms: linux/amd64
|
||||||
|
branch: main
|
||||||
|
prefix: vaapi-
|
||||||
|
latest: yes
|
||||||
|
- core: "16.14.0"
|
||||||
|
core_os: ubuntu20.04
|
||||||
|
ffmpeg: "5.1.3-cuda"
|
||||||
|
ffmpeg_os: ubuntu20.04
|
||||||
|
ffmpeg_tags: "-cuda11.7.1"
|
||||||
|
platforms: linux/amd64
|
||||||
|
branch: main
|
||||||
|
prefix: cuda-
|
||||||
|
latest: yes
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
steps:
|
||||||
with:
|
- name: Checkout
|
||||||
envFile: '.github_build/Build.alpine.env'
|
uses: actions/checkout@v4
|
||||||
export: 'true'
|
with:
|
||||||
expandWithJobEnv: 'true'
|
ref: ${{ matrix.branch }}
|
||||||
expand: 'true'
|
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
- name: Docker meta
|
||||||
with:
|
id: meta
|
||||||
envFile: '.github_build/Build.bundle.env'
|
uses: docker/metadata-action@v5
|
||||||
export: 'true'
|
with:
|
||||||
expandWithJobEnv: 'true'
|
images: |
|
||||||
expand: 'true'
|
datarhei/core
|
||||||
|
tags: |
|
||||||
|
type=raw,value=${{ matrix.core }}-ffmpeg${{ matrix.ffmpeg }}${{ matrix.ffmpeg_tags }}-${{ matrix.core_os }}
|
||||||
|
type=raw,value=${{ matrix.prefix }}${{ matrix.core }},enable=${{ matrix.latest == 'yes' }}
|
||||||
|
type=raw,value=${{ matrix.prefix }}latest,enable=${{ matrix.latest == 'yes' }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@master
|
uses: docker/setup-qemu-action@master
|
||||||
with:
|
with:
|
||||||
platforms: all
|
platforms: all
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@master
|
uses: docker/setup-buildx-action@master
|
||||||
|
|
||||||
- name: Cache Docker layers
|
- name: Login to DockerHub
|
||||||
uses: actions/cache@v2
|
if: github.event_name != 'pull_request'
|
||||||
with:
|
uses: docker/login-action@v3
|
||||||
path: /tmp/.buildx-cache
|
with:
|
||||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
restore-keys: |
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
${{ runner.os }}-buildx-
|
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Build Multi-Arch
|
||||||
if: github.event_name != 'pull_request'
|
uses: docker/build-push-action@v5
|
||||||
uses: docker/login-action@v1
|
with:
|
||||||
with:
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
context: .
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
file: ./Dockerfile.bundle
|
||||||
|
build-args: |
|
||||||
- name: Build Multi-Arch
|
CORE_IMAGE=datarhei/base:core${{ matrix.core }}-${{ matrix.core_os }}
|
||||||
uses: docker/build-push-action@v2
|
FFMPEG_IMAGE=datarhei/base:ffmpeg${{ matrix.ffmpeg }}-${{ matrix.ffmpeg_os}}${{ matrix.ffmpeg_tags }}
|
||||||
with:
|
platforms: ${{ matrix.platforms }}
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
push: true
|
||||||
context: .
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
file: ./Dockerfile.bundle
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
build-args: |
|
|
||||||
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_FFMPEG }}-${{ env.FFMPEG_VERSION }}
|
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
datarhei/core:${{ env.CORE_VERSION }}
|
|
||||||
datarhei/core:latest
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
|
|
|
||||||
81
.github/workflows/build_bundle_dev.yaml
vendored
81
.github/workflows/build_bundle_dev.yaml
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
name: "Build datarhei/core:dev"
|
name: "Build dev bundles"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
@ -10,23 +10,54 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
runs-on: [self-hosted]
|
runs-on: [self-hosted]
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- core_os: alpine3.19
|
||||||
|
ffmpeg: "6.1.1"
|
||||||
|
ffmpeg_os: alpine3.19
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
branch: dev
|
||||||
|
prefix:
|
||||||
|
latest: yes
|
||||||
|
- core_os: alpine3.19
|
||||||
|
ffmpeg: "6.1.1-rpi"
|
||||||
|
ffmpeg_os: alpine3.19
|
||||||
|
platforms: linux/arm64,linux/arm/v7
|
||||||
|
branch: dev
|
||||||
|
prefix: rpi-
|
||||||
|
latest: yes
|
||||||
|
- core_os: ubuntu20.04
|
||||||
|
ffmpeg: "6.1.1-vaapi"
|
||||||
|
ffmpeg_os: ubuntu20.04
|
||||||
|
platforms: linux/amd64
|
||||||
|
branch: dev
|
||||||
|
prefix: vaapi-
|
||||||
|
latest: yes
|
||||||
|
- core_os: ubuntu20.04
|
||||||
|
ffmpeg: "6.1.1-cuda"
|
||||||
|
ffmpeg_os: ubuntu20.04
|
||||||
|
ffmpeg_tags: "-cuda11.7.1"
|
||||||
|
platforms: linux/amd64
|
||||||
|
branch: dev
|
||||||
|
prefix: cuda-
|
||||||
|
latest: yes
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
|
||||||
with:
|
with:
|
||||||
envFile: ".github_build/Build.alpine.dev.env"
|
ref: ${{ matrix.branch }}
|
||||||
export: "true"
|
|
||||||
expandWithJobEnv: "true"
|
|
||||||
expand: "true"
|
|
||||||
|
|
||||||
- uses: cardinalby/export-env-action@v1
|
- name: Docker meta
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
envFile: ".github_build/Build.bundle.dev.env"
|
images: |
|
||||||
export: "true"
|
datarhei/core
|
||||||
expandWithJobEnv: "true"
|
tags: |
|
||||||
expand: "true"
|
type=raw,value=${{ matrix.branch }}-ffmpeg${{ matrix.ffmpeg }}${{ matrix.ffmpeg_tags }}-${{ matrix.core_os }}
|
||||||
|
type=raw,value=${{ matrix.prefix }}${{ matrix.branch }},enable=${{ matrix.latest == 'yes' }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@master
|
uses: docker/setup-qemu-action@master
|
||||||
|
|
@ -37,33 +68,23 @@ jobs:
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@master
|
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
|
- name: Login to DockerHub
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
uses: docker/login-action@v1
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Build Multi-Arch
|
- name: Build Multi-Arch
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile.bundle
|
file: ./Dockerfile.bundle
|
||||||
build-args: |
|
build-args: |
|
||||||
CORE_IMAGE=datarhei/base:${{ env.OS_NAME }}-core-dev
|
CORE_IMAGE=datarhei/base:core-${{ matrix.branch }}-${{ matrix.core_os }}
|
||||||
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }}
|
FFMPEG_IMAGE=datarhei/base:ffmpeg${{ matrix.ffmpeg }}-${{ matrix.ffmpeg_os}}${{ matrix.ffmpeg_tags }}
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
platforms: ${{ matrix.platforms }}
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
datarhei/core:dev
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
# CORE ALPINE BASE IMAGE
|
|
||||||
OS_NAME=alpine
|
|
||||||
OS_VERSION=3.19
|
|
||||||
GOLANG_IMAGE=golang:1.21-alpine3.19
|
|
||||||
CORE_VERSION=16.14.0
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# CORE ALPINE BASE IMAGE
|
|
||||||
OS_NAME=alpine
|
|
||||||
OS_VERSION=3.19
|
|
||||||
OS_VERSION_FFMPEG=3.16
|
|
||||||
GOLANG_IMAGE=golang:1.21-alpine3.19
|
|
||||||
CORE_VERSION=16.14.0
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# CORE NVIDIA CUDA BUNDLE
|
|
||||||
FFMPEG_VERSION=5.1.3
|
|
||||||
CUDA_VERSION=11.7.1
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
# CORE BUNDLE
|
|
||||||
FFMPEG_VERSION=6.1.1
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
# CORE BUNDLE
|
|
||||||
FFMPEG_VERSION=5.1.3
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
# CORE RASPBERRY-PI BUNDLE
|
|
||||||
FFMPEG_VERSION=6.1.1
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
# CORE RASPBERRY-PI BUNDLE
|
|
||||||
FFMPEG_VERSION=5.1.3
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
# CORE BUNDLE
|
|
||||||
FFMPEG_VERSION=5.1.3
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
# CORE UBUNTU BASE IMAGE
|
|
||||||
OS_NAME=ubuntu
|
|
||||||
OS_VERSION=20.04
|
|
||||||
GOLANG_IMAGE=golang:1.21-alpine3.19
|
|
||||||
CORE_VERSION=16.14.0
|
|
||||||
Loading…
Reference in a new issue