This commit is contained in:
Miroslav Šedivý 2023-01-15 20:16:54 +01:00
parent 1c8679b61e
commit 56109df85f
3 changed files with 119 additions and 30 deletions

View File

@ -117,6 +117,7 @@ jobs:
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
with: with:
context: .docker/${{ env.TAG_NAME }} context: .docker/${{ env.TAG_NAME }}
file: .docker/${{ env.TAG_NAME }}/${{ env.DOCKERFILE }}
platforms: ${{ env.PLATFORMS }} platforms: ${{ env.PLATFORMS }}
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}

View File

@ -18,7 +18,112 @@ env:
jobs: jobs:
build-base: build-base:
uses: ./.github/workflows/tags.yml@build-base runs-on: ubuntu-latest
#
# do not run on forks
#
if: github.repository_owner == 'm1k1o'
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Extract metadata (tags, labels) for Docker
uses: docker/metadata-action@v3
id: meta
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.TAG_PREFIX }}base
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha,format=long
-
name: Log in to the Container registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GHCR_ACCESS_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: ./
file: .docker/base/${{ env.BASE_DOCKERFILE }}
platforms: ${{ env.PLATFORMS }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build: build:
uses: ./.github/workflows/tags.yml@build runs-on: ubuntu-latest
#
# do not run on forks
#
if: github.repository_owner == 'm1k1o'
needs: [ build-base ]
strategy:
# Will build all images even if some fail.
matrix:
include:
- tag: firefox
#- tag: chromium
#- tag: google-chrome
#- tag: ungoogled-chromium
#- tag: microsoft-edge
#- tag: brave
#- tag: vivaldi
#- tag: opera
#- tag: tor-browser
#- tag: remmina
#- tag: vlc
#- tag: xfce
env:
TAG_NAME: ${{ matrix.tag }}
DOCKERFILE: ${{ matrix.dockerfile }}
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Extract metadata (tags, labels) for Docker
uses: docker/metadata-action@v3
id: meta
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.TAG_PREFIX }}${{ env.TAG_NAME }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha,format=long
-
name: Log in to the Container registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GHCR_ACCESS_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .docker/${{ env.TAG_NAME }}
platforms: ${{ env.PLATFORMS }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
BASE_IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.TAG_PREFIX }}base:sha-${{ github.sha }}

View File

@ -4,10 +4,6 @@ on:
push: push:
tags: tags:
- 'v*' - 'v*'
# Only for testing.
pull_request:
branches:
- 'master'
env: env:
REGISTRY: ghcr.io REGISTRY: ghcr.io
@ -74,32 +70,19 @@ jobs:
matrix: matrix:
include: include:
- tag: firefox - tag: firefox
dockerfile: Dockerfile - tag: chromium
#- tag: chromium - tag: google-chrome
# dockerfile: Dockerfile - tag: ungoogled-chromium
#- tag: google-chrome - tag: microsoft-edge
# dockerfile: Dockerfile - tag: brave
#- tag: ungoogled-chromium - tag: vivaldi
# dockerfile: Dockerfile - tag: opera
#- tag: microsoft-edge - tag: tor-browser
# dockerfile: Dockerfile - tag: remmina
#- tag: brave - tag: vlc
# dockerfile: Dockerfile - tag: xfce
#- tag: vivaldi
# dockerfile: Dockerfile
#- tag: opera
# dockerfile: Dockerfile
#- tag: tor-browser
# dockerfile: Dockerfile
#- tag: remmina
# dockerfile: Dockerfile
#- tag: vlc
# dockerfile: Dockerfile
#- tag: xfce
# dockerfile: Dockerfile
env: env:
TAG_NAME: ${{ matrix.tag }} TAG_NAME: ${{ matrix.tag }}
DOCKERFILE: ${{ matrix.dockerfile }}
steps: steps:
- -
name: Checkout name: Checkout