Add env files for dev workflows

This commit is contained in:
Ingo Oppermann 2024-02-09 14:04:32 +01:00
parent 2bf2e4b27a
commit 5a4d00f969
No known key found for this signature in database
GPG key ID: 2AB32426E9DD229E
6 changed files with 201 additions and 192 deletions

View file

@ -1,89 +1,89 @@
name: 'Build base:alpine-core:dev' name: "Build base:alpine-core:dev"
on: on:
workflow_dispatch: workflow_dispatch:
workflow_call: workflow_call:
push: push:
branches: branches:
- dev - dev
jobs: jobs:
docker: docker:
runs-on: [self-hosted] runs-on: [self-hosted]
strategy: strategy:
matrix: matrix:
branch: branch:
- dev - dev
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
ref: ${{ matrix.branch }} ref: ${{ matrix.branch }}
- uses: actions-ecosystem/action-get-latest-tag@v1 - uses: actions-ecosystem/action-get-latest-tag@v1
id: get-latest-tag id: get-latest-tag
with: with:
semver_only: true semver_only: true
- uses: cardinalby/export-env-action@v1 - uses: cardinalby/export-env-action@v1
with: with:
envFile: '.github_build/Build.alpine.env' envFile: ".github_build/Build.alpine.dev.env"
export: 'true' export: "true"
expandWithJobEnv: 'true' expandWithJobEnv: "true"
expand: 'true' expand: "true"
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v4
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=${{ env.OS_NAME }}-core-dev,enable=${{ matrix.branch == 'dev' }}
- 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: Cache Docker layers
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: /tmp/.buildx-cache path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }} key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-buildx- ${{ 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@v1
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@v2
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=${{ env.OS_NAME }}:${{ env.OS_VERSION }}
GOLANG_IMAGE=${{ env.GOLANG_IMAGE }} GOLANG_IMAGE=${{ env.GOLANG_IMAGE }}
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
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: dockerBundle:
uses: ./.github/workflows/build_bundle_dev.yaml uses: ./.github/workflows/build_bundle_dev.yaml
secrets: inherit secrets: inherit
dockerBundleRpi: dockerBundleRpi:
uses: ./.github/workflows/build_bundle-rpi_dev.yaml uses: ./.github/workflows/build_bundle-rpi_dev.yaml
secrets: inherit secrets: inherit

View file

@ -1,69 +1,69 @@
name: 'Build datarhei/core:rpi-dev' name: "Build datarhei/core:rpi-dev"
on: on:
workflow_dispatch: workflow_dispatch:
workflow_call: workflow_call:
push: push:
branches-ignore: branches-ignore:
- '**' - "**"
jobs: jobs:
docker: docker:
runs-on: [self-hosted] runs-on: [self-hosted]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- uses: cardinalby/export-env-action@v1 - uses: cardinalby/export-env-action@v1
with: with:
envFile: '.github_build/Build.alpine.env' envFile: ".github_build/Build.alpine.dev.env"
export: 'true' export: "true"
expandWithJobEnv: 'true' expandWithJobEnv: "true"
expand: 'true' expand: "true"
- uses: cardinalby/export-env-action@v1 - uses: cardinalby/export-env-action@v1
with: with:
envFile: '.github_build/Build.bundle.rpi.env' envFile: ".github_build/Build.bundle.rpi.dev.env"
export: 'true' export: "true"
expandWithJobEnv: 'true' expandWithJobEnv: "true"
expand: 'true' expand: "true"
- 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: Cache Docker layers
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: /tmp/.buildx-cache path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }} key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-buildx- ${{ 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@v1
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@v2
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:${{ env.OS_NAME }}-core-dev
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-rpi-${{ env.OS_VERSION_FFMPEG }}-${{ env.FFMPEG_VERSION }} FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-rpi-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }}
platforms: linux/arm64,linux/arm/v7 platforms: linux/arm64,linux/arm/v7
push: true push: true
tags: | tags: |
datarhei/core:rpi-dev datarhei/core:rpi-dev
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

View file

@ -1,69 +1,69 @@
name: 'Build datarhei/core:dev' name: "Build datarhei/core:dev"
on: on:
workflow_dispatch: workflow_dispatch:
workflow_call: workflow_call:
push: push:
branches-ignore: branches-ignore:
- '**' - "**"
jobs: jobs:
docker: docker:
runs-on: [self-hosted] runs-on: [self-hosted]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- uses: cardinalby/export-env-action@v1 - uses: cardinalby/export-env-action@v1
with: with:
envFile: '.github_build/Build.alpine.env' envFile: ".github_build/Build.alpine.dev.env"
export: 'true' export: "true"
expandWithJobEnv: 'true' expandWithJobEnv: "true"
expand: 'true' expand: "true"
- uses: cardinalby/export-env-action@v1 - uses: cardinalby/export-env-action@v1
with: with:
envFile: '.github_build/Build.bundle.env' envFile: ".github_build/Build.bundle.dev.env"
export: 'true' export: "true"
expandWithJobEnv: 'true' expandWithJobEnv: "true"
expand: 'true' expand: "true"
- 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: Cache Docker layers
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: /tmp/.buildx-cache path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }} key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: | restore-keys: |
${{ runner.os }}-buildx- ${{ 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@v1
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@v2
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:${{ env.OS_NAME }}-core-dev
FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-${{ env.OS_VERSION_FFMPEG }}-${{ env.FFMPEG_VERSION }} FFMPEG_IMAGE=datarhei/base:${{ env.OS_NAME }}-ffmpeg-${{ env.OS_VERSION }}-${{ env.FFMPEG_VERSION }}
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true push: true
tags: | tags: |
datarhei/core:dev datarhei/core:dev
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

View file

@ -0,0 +1,5 @@
# CORE ALPINE BASE IMAGE
OS_NAME=alpine
OS_VERSION=3.19
GOLANG_IMAGE=golang:1.21-alpine3.19
CORE_VERSION=16.14.0

View file

@ -0,0 +1,2 @@
# CORE BUNDLE
FFMPEG_VERSION=6.1.1

View file

@ -0,0 +1,2 @@
# CORE RASPBERRY-PI BUNDLE
FFMPEG_VERSION=6.1.1