Skip to content

🐬 Builds GH-Builder Images (Self-Hosted) DockerHub 🐬 #14

🐬 Builds GH-Builder Images (Self-Hosted) DockerHub 🐬

🐬 Builds GH-Builder Images (Self-Hosted) DockerHub 🐬 #14

name: 🐬 Builds GH-Builder Images (Self-Hosted) DockerHub 🐬
#REF: https://docs.docker.com/build/ci/github-actions/multi-platform/
#SECRETS: DOCKERHUB_USERNAME || DOCKERHUB_TOKEN
#URL: https://hub.docker.com/u/pkgforge
#------------------------------------------------------------------------------------#
on:
#push:
workflow_dispatch:
schedule:
- cron: "30 08 * * 3" # 08:30 PM UTC Wed (02:15 AM NPT Thu Midnight)
# - cron: "*/30 * * * *" # Every 30 Mins
defaults:
run:
shell: bash
working-directory: /tmp
permissions:
contents: read
packages: write
#------------------------------------------------------------------------------------#
jobs:
build-push-docker-alpine:
name: Push (Alpine-Builder ${{ matrix.arch }}) --> Docker Hub
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: aarch64
platform: arm64
runner: ubuntu-24.04-arm
- arch: loongarch64
platform: loong64
runner: ubuntu-latest
- arch: riscv64
platform: riscv64
runner: ubuntu-latest
- arch: x86_64
platform: amd64
runner: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
filter: "blob:none"
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
continue-on-error: true
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
#Docker Tags
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
#Copy dockerfiles
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/alpine-builder.dockerfile" "/tmp/DOCKERFILES/alpine-builder.dockerfile"
continue-on-error: true
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
continue-on-error: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
continue-on-error: true
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: "${{ secrets.DOCKERHUB_USERNAME }}"
password: "${{ secrets.DOCKERHUB_TOKEN }}"
continue-on-error: true
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: true
#https://hub.docker.com/r/pkgforge/alpine-builder
- name: Docker Build and Push (alpine-builder:${{ matrix.arch }})
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/alpine-builder.dockerfile"
platforms: "linux/${{ matrix.platform }}"
build-args: |
ARCH=${{ matrix.arch }}
tags: |
pkgforge/alpine-builder:${{ matrix.arch }}
pkgforge/alpine-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/alpine-builder:${{ matrix.arch }}
ghcr.io/pkgforge/devscripts/alpine-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
outputs: type=registry,compression=zstd,compression-level=22
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-alpine-slim:
name: Push (Alpine-Slim ${{ matrix.arch }}) --> Docker Hub
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: aarch64
platform: arm64
runner: ubuntu-24.04-arm
- arch: loongarch64
platform: loong64
runner: ubuntu-latest
- arch: riscv64
platform: riscv64
runner: ubuntu-latest
- arch: x86_64
platform: amd64
runner: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
filter: "blob:none"
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
continue-on-error: true
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
#Docker Tags
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
#Copy dockerfiles
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/alpine-slim.dockerfile" "/tmp/DOCKERFILES/alpine-slim.dockerfile"
continue-on-error: true
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
continue-on-error: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
continue-on-error: true
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: "${{ secrets.DOCKERHUB_USERNAME }}"
password: "${{ secrets.DOCKERHUB_TOKEN }}"
continue-on-error: true
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: true
#https://hub.docker.com/r/pkgforge/alpine-slim
- name: Docker Build and Push (alpine-slim:${{ matrix.arch }})
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/alpine-slim.dockerfile"
platforms: "linux/${{ matrix.platform }}"
build-args: |
ARCH=${{ matrix.arch }}
tags: |
pkgforge/alpine-slim:${{ matrix.arch }}
pkgforge/alpine-slim:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/alpine-slim:${{ matrix.arch }}
ghcr.io/pkgforge/devscripts/alpine-slim:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
outputs: type=registry,compression=zstd,compression-level=22
continue-on-error: true
#------------------------------------------------------------------------------------#
# build-push-docker-alpine-mimalloc-edge:
# name: Push (Alpine-Mimalloc-edge) --> Docker Hub
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# path: main
# filter: "blob:none"
#
# - name: Debloat Runner
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
# continue-on-error: true
#
# - name: Setup Env
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# #Docker Tags
# DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
# echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
# #Copy dockerfiles
# mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
# cp "${GITHUB_WORKSPACE}/main/Github/Runners/alpine-builder.dockerfile" "/tmp/DOCKERFILES/alpine-builder.dockerfile"
# sed '/^FROM/c\FROM pkgforge/alpine-base-mimalloc:edge' -i "/tmp/DOCKERFILES/alpine-builder.dockerfile"
# continue-on-error: true
#
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# continue-on-error: true
#
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# continue-on-error: true
#
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: "${{ secrets.DOCKERHUB_USERNAME }}"
# password: "${{ secrets.DOCKERHUB_TOKEN }}"
# continue-on-error: true
#
# - name: Login to GHCR
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: "${{ github.actor }}"
# password: "${{ secrets.GITHUB_TOKEN }}"
# continue-on-error: true
#
# #https://hub.docker.com/r/pkgforge/alpine-builder-mimalloc
# - name: Docker Build and Push (alpine-builder-mimalloc:edge)
# uses: docker/build-push-action@v6
# with:
# context: /tmp/DOCKERFILES/
# file: "/tmp/DOCKERFILES/alpine-builder.dockerfile"
# platforms: "linux/amd64,linux/arm64,linux/riscv64"
# tags: |
# pkgforge/alpine-builder-mimalloc:edge
# pkgforge/alpine-builder-mimalloc:edge-${{ env.DOCKER_TAG }}
# pkgforge/alpine-builder-mimalloc:latest
# pkgforge/alpine-builder-mimalloc:latest-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/alpine-builder-mimalloc:edge
# ghcr.io/pkgforge/devscripts/alpine-builder-mimalloc:edge-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/alpine-builder-mimalloc:latest
# ghcr.io/pkgforge/devscripts/alpine-builder-mimalloc:latest-${{ env.DOCKER_TAG }}
# push: true
# continue-on-error: true
#------------------------------------------------------------------------------------#
# build-push-docker-alpine-mimalloc-stable:
# name: Push (Alpine-Mimalloc-stable) --> Docker Hub
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# path: main
# filter: "blob:none"
#
# - name: Debloat Runner
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
# continue-on-error: true
#
# - name: Setup Env
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# #Docker Tags
# DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
# echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
# #Copy dockerfiles
# mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
# cp "${GITHUB_WORKSPACE}/main/Github/Runners/alpine-builder.dockerfile" "/tmp/DOCKERFILES/alpine-builder.dockerfile"
# sed '/^FROM/c\FROM pkgforge/alpine-base-mimalloc:stable' -i "/tmp/DOCKERFILES/alpine-builder.dockerfile"
# continue-on-error: true
#
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# continue-on-error: true
#
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# continue-on-error: true
#
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: "${{ secrets.DOCKERHUB_USERNAME }}"
# password: "${{ secrets.DOCKERHUB_TOKEN }}"
# continue-on-error: true
#
# - name: Login to GHCR
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: "${{ github.actor }}"
# password: "${{ secrets.GITHUB_TOKEN }}"
# continue-on-error: true
#
# #https://hub.docker.com/r/pkgforge/alpine-builder-mimalloc
# - name: Docker Build and Push (alpine-builder-mimalloc:stable)
# uses: docker/build-push-action@v6
# with:
# context: /tmp/DOCKERFILES/
# file: "/tmp/DOCKERFILES/alpine-builder.dockerfile"
# platforms: "linux/amd64,linux/arm64,linux/riscv64"
# tags: |
# pkgforge/alpine-builder-mimalloc:stable
# pkgforge/alpine-builder-mimalloc:stable-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/alpine-builder-mimalloc:stable
# ghcr.io/pkgforge/devscripts/alpine-builder-mimalloc:stable-${{ env.DOCKER_TAG }}
# push: true
# continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-archlinux-builder:
name: Push (ArchLinux-Builder ${{ matrix.arch }}) --> Docker Hub
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: aarch64
platform: arm64
runner: ubuntu-24.04-arm
- arch: x86_64
platform: amd64
runner: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
filter: "blob:none"
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
continue-on-error: true
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
#Docker Tags
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
#Copy dockerfiles
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/archlinux-builder.dockerfile" "/tmp/DOCKERFILES/archlinux-builder.dockerfile"
continue-on-error: true
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
continue-on-error: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
continue-on-error: true
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: "${{ secrets.DOCKERHUB_USERNAME }}"
password: "${{ secrets.DOCKERHUB_TOKEN }}"
continue-on-error: true
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: true
#https://hub.docker.com/r/pkgforge/archlinux-builder
- name: Docker Build and Push (ArchLinux-Builder)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/archlinux-builder.dockerfile"
platforms: "linux/amd64,linux/arm64,linux/riscv64"
tags: |
pkgforge/archlinux-builder:${{ matrix.arch }}
pkgforge/archlinux-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/archlinux-builder:${{ matrix.arch }}
ghcr.io/pkgforge/devscripts/archlinux-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
outputs: type=registry,compression=zstd,compression-level=22
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-debian:
name: Push (Debian-Builder-unstable ${{ matrix.arch }}) --> Docker Hub
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: aarch64
platform: arm64
runner: ubuntu-24.04-arm
- arch: loongarch64
platform: loong64
runner: ubuntu-latest
- arch: riscv64
platform: riscv64
runner: ubuntu-latest
- arch: x86_64
platform: amd64
runner: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
filter: "blob:none"
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
continue-on-error: true
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
#Docker Tags
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
#Copy dockerfiles
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/debian-builder-unstable.dockerfile" "/tmp/DOCKERFILES/debian-builder-unstable.dockerfile"
continue-on-error: true
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
continue-on-error: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
continue-on-error: true
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: "${{ secrets.DOCKERHUB_USERNAME }}"
password: "${{ secrets.DOCKERHUB_TOKEN }}"
continue-on-error: true
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: true
#https://hub.docker.com/r/pkgforge/debian-builder-unstable
- name: Docker Build and Push (debian-builder-unstable:${{ matrix.arch }})
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/debian-builder-unstable.dockerfile"
platforms: "linux/${{ matrix.platform }}"
build-args: |
ARCH=${{ matrix.arch }}
tags: |
pkgforge/debian-builder-unstable:${{ matrix.arch }}
pkgforge/debian-builder-unstable:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/debian-builder-unstable:${{ matrix.arch }}
ghcr.io/pkgforge/devscripts/debian-builder-unstable:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
outputs: type=registry,compression=zstd,compression-level=22
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-ubuntu-builder:
name: Push (Ubuntu-Builder ${{ matrix.arch }}) --> Docker Hub
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: aarch64
platform: arm64
runner: ubuntu-24.04-arm
- arch: riscv64
platform: riscv64
runner: ubuntu-latest
- arch: x86_64
platform: amd64
runner: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
filter: "blob:none"
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
continue-on-error: true
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
#Docker Tags
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
#Copy dockerfiles
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/ubuntu-builder.dockerfile" "/tmp/DOCKERFILES/ubuntu-builder.dockerfile"
continue-on-error: true
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
continue-on-error: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
continue-on-error: true
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: "${{ secrets.DOCKERHUB_USERNAME }}"
password: "${{ secrets.DOCKERHUB_TOKEN }}"
continue-on-error: true
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: true
#https://hub.docker.com/r/pkgforge/ubuntu-builder
- name: Docker Build and Push (ubuntu-builder)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/ubuntu-builder.dockerfile"
platforms: "linux/${{ matrix.platform }}"
build-args: |
ARCH=${{ matrix.arch }}
tags: |
pkgforge/ubuntu-builder:${{ matrix.arch }}
pkgforge/ubuntu-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/ubuntu-builder:${{ matrix.arch }}
ghcr.io/pkgforge/devscripts/ubuntu-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
outputs: type=registry,compression=zstd,compression-level=22
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-ubuntu-systemd-base:
name: Push (Ubuntu-Base ${{ matrix.arch }}) --> Docker Hub
needs: [build-push-ubuntu-builder]
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: aarch64
platform: arm64
runner: ubuntu-24.04-arm
- arch: riscv64
platform: riscv64
runner: ubuntu-latest
- arch: x86_64
platform: amd64
runner: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
filter: "blob:none"
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
continue-on-error: true
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
#Docker Tags
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
#Copy dockerfiles
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/ubuntu-systemd-base.dockerfile" "/tmp/DOCKERFILES/ubuntu-systemd-base.dockerfile"
continue-on-error: true
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
continue-on-error: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
continue-on-error: true
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: "${{ secrets.DOCKERHUB_USERNAME }}"
password: "${{ secrets.DOCKERHUB_TOKEN }}"
continue-on-error: true
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
continue-on-error: true
#https://hub.docker.com/r/pkgforge/ubuntu-systemd-base
- name: Docker Build and Push (Ubuntu-Systemd-Base)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/ubuntu-systemd-base.dockerfile"
platforms: "linux/${{ matrix.platform }}"
build-args: |
ARCH=${{ matrix.arch }}
tags: |
pkgforge/ubuntu-systemd-base:${{ matrix.arch }}
pkgforge/ubuntu-systemd-base:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/ubuntu-systemd-base:${{ matrix.arch }}
ghcr.io/pkgforge/devscripts/ubuntu-systemd-base:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
outputs: type=registry,compression=zstd,compression-level=22
continue-on-error: true
##------------------------------------------------------------------------------------#
# build-push-docker-debian-guix:
# name: Push (debian-guix) --> Docker Hub
# needs: [build-push-docker-debian]
# runs-on: ${{ matrix.runner }}
# strategy:
# matrix:
# include:
# - arch: aarch64
# platform: arm64
# runner: ubuntu-24.04-arm
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# path: main
# filter: "blob:none"
#
# - name: Debloat Runner
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
# continue-on-error: true
#
# - name: Setup Env
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# #Docker Tags
# DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
# echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
# #Copy dockerfiles
# mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
# cp "${GITHUB_WORKSPACE}/main/Github/Runners/debian-guix.dockerfile" "/tmp/DOCKERFILES/debian-guix.dockerfile"
# continue-on-error: true
#
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# continue-on-error: true
#
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# continue-on-error: true
#
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: "${{ secrets.DOCKERHUB_USERNAME }}"
# password: "${{ secrets.DOCKERHUB_TOKEN }}"
# continue-on-error: true
#
# - name: Login to GHCR
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: "${{ github.actor }}"
# password: "${{ secrets.GITHUB_TOKEN }}"
# continue-on-error: true
#
# #https://hub.docker.com/r/pkgforge/debian-guix
# - name: Docker Build and Push (debian-guix)
# uses: docker/build-push-action@v6
# with:
# context: /tmp/DOCKERFILES/
# file: "/tmp/DOCKERFILES/debian-guix.dockerfile"
# platforms: "linux/${{ matrix.platform }}"
# build-args: |
# ARCH=${{ matrix.arch }}
# tags: |
# pkgforge/debian-guix:${{ matrix.arch }}
# pkgforge/debian-guix:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/debian-guix:${{ matrix.arch }}
# ghcr.io/pkgforge/devscripts/debian-guix:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# push: true
# continue-on-error: true
##------------------------------------------------------------------------------------#
# build-push-docker-alpine-ix:
# name: Push (alpine-ix) --> Docker Hub
# runs-on: ${{ matrix.runner }}
# strategy:
# matrix:
# include:
# #- arch: aarch64
# # platform: arm64
# # runner: ubuntu-24.04-arm
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# path: main
# filter: "blob:none"
#
# - name: Debloat Runner
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
# continue-on-error: true
#
# - name: Setup Env
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# #Docker Tags
# DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
# echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
# #Copy dockerfiles
# mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
# cp "${GITHUB_WORKSPACE}/main/Github/Runners/alpine-ix.dockerfile" "/tmp/DOCKERFILES/alpine-ix.dockerfile"
# continue-on-error: true
#
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# continue-on-error: true
#
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# continue-on-error: true
#
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: "${{ secrets.DOCKERHUB_USERNAME }}"
# password: "${{ secrets.DOCKERHUB_TOKEN }}"
# continue-on-error: true
#
# - name: Login to GHCR
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: "${{ github.actor }}"
# password: "${{ secrets.GITHUB_TOKEN }}"
# continue-on-error: true
#
# #https://hub.docker.com/r/pkgforge/alpine-ix
# - name: Docker Build and Push (alpine-ix)
# uses: docker/build-push-action@v6
# with:
# context: /tmp/DOCKERFILES/
# file: "/tmp/DOCKERFILES/alpine-ix.dockerfile"
# platforms: "linux/${{ matrix.platform }}"
# build-args: |
# ARCH=${{ matrix.arch }}
# tags: |
# pkgforge/alpine-ix:${{ matrix.arch }}
# pkgforge/alpine-ix:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/alpine-ix:${{ matrix.arch }}
# ghcr.io/pkgforge/devscripts/alpine-ix:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# push: true
# continue-on-error: true
##------------------------------------------------------------------------------------#
# build-push-docker-debian-ix:
# name: Push (debian-ix) --> Docker Hub
# runs-on: ${{ matrix.runner }}
# strategy:
# matrix:
# include:
# #- arch: aarch64
# # platform: arm64
# # runner: ubuntu-24.04-arm
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# path: main
# filter: "blob:none"
#
# - name: Debloat Runner
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
# continue-on-error: true
#
# - name: Setup Env
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# #Docker Tags
# DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
# echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
# #Copy dockerfiles
# mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
# cp "${GITHUB_WORKSPACE}/main/Github/Runners/debian-ix.dockerfile" "/tmp/DOCKERFILES/debian-ix.dockerfile"
# continue-on-error: true
#
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# continue-on-error: true
#
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# continue-on-error: true
#
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: "${{ secrets.DOCKERHUB_USERNAME }}"
# password: "${{ secrets.DOCKERHUB_TOKEN }}"
# continue-on-error: true
#
# - name: Login to GHCR
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: "${{ github.actor }}"
# password: "${{ secrets.GITHUB_TOKEN }}"
# continue-on-error: true
#
# #https://hub.docker.com/r/pkgforge/debian-ix
# - name: Docker Build and Push (debian-ix)
# uses: docker/build-push-action@v6
# with:
# context: /tmp/DOCKERFILES/
# file: "/tmp/DOCKERFILES/debian-ix.dockerfile"
# platforms: "linux/${{ matrix.platform }}"
# build-args: |
# ARCH=${{ matrix.arch }}
# tags: |
# pkgforge/debian-ix:${{ matrix.arch }}
# pkgforge/debian-ix:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/debian-ix:${{ matrix.arch }}
# ghcr.io/pkgforge/devscripts/debian-ix:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# push: true
# continue-on-error: true
#------------------------------------------------------------------------------------#
# build-push-docker-gentoo-builder:
# name: Push (gentoo-builder) --> Docker Hub
# runs-on: ${{ matrix.runner }}
# strategy:
# matrix:
# include:
# - arch: aarch64
# platform: arm64
# runner: ubuntu-24.04-arm
# base_img: "docker.io/gentoo/stage3:latest"
# target_img: "gentoo-builder-glibc"
#
# - arch: aarch64
# platform: arm64
# runner: ubuntu-24.04-arm
# base_img: "docker.io/gentoo/stage3:llvm"
# target_img: "gentoo-builder-glibc-llvm"
#
# - arch: aarch64
# platform: arm64
# runner: ubuntu-24.04-arm
# base_img: "docker.io/gentoo/stage3:musl"
# target_img: "gentoo-builder-musl"
#
# - arch: aarch64
# platform: arm64
# runner: ubuntu-24.04-arm
# base_img: "docker.io/gentoo/stage3:musl-llvm"
# target_img: "gentoo-builder-musl-llvm"
#
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# base_img: "docker.io/gentoo/stage3:latest"
# target_img: "gentoo-builder-glibc"
#
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# base_img: "docker.io/gentoo/stage3:llvm"
# target_img: "gentoo-builder-glibc-llvm"
#
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# base_img: "docker.io/gentoo/stage3:musl"
# target_img: "gentoo-builder-musl"
#
# - arch: x86_64
# platform: amd64
# runner: ubuntu-latest
# base_img: "docker.io/gentoo/stage3:musl-llvm"
# target_img: "gentoo-builder-musl-llvm"
#
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# path: main
# filter: "blob:none"
#
# - name: Debloat Runner
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
# continue-on-error: true
#
# - name: Setup Env (${{ matrix.base_img }} ==> ${{ matrix.target_img }})
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# #Docker Tags
# DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
# echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
# #Copy dockerfiles
# mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
# cp "${GITHUB_WORKSPACE}/main/Github/Runners/gentoo-builder.dockerfile" "/tmp/DOCKERFILES/gentoo-builder.dockerfile"
# continue-on-error: true
#
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# continue-on-error: true
#
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# continue-on-error: true
#
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: "${{ secrets.DOCKERHUB_USERNAME }}"
# password: "${{ secrets.DOCKERHUB_TOKEN }}"
# continue-on-error: true
#
# - name: Login to GHCR
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: "${{ github.actor }}"
# password: "${{ secrets.GITHUB_TOKEN }}"
# continue-on-error: true
#
# #https://hub.docker.com/r/pkgforge/
# - name: Docker Build and Push (${{ matrix.base_img }} ==> ${{ matrix.target_img }})
# uses: docker/build-push-action@v6
# with:
# context: /tmp/DOCKERFILES/
# file: "/tmp/DOCKERFILES/gentoo-builder.dockerfile"
# platforms: "linux/${{ matrix.platform }}"
# build-args: |
# BASE_IMG=${{ matrix.base_img }}
# tags: |
# pkgforge/${{ matrix.target_img }}:${{ matrix.arch }}
# pkgforge/${{ matrix.target_img }}:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# ghcr.io/pkgforge/devscripts/${{ matrix.target_img }}:${{ matrix.arch }}
# ghcr.io/pkgforge/devscripts/${{ matrix.target_img }}:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
# push: true
# continue-on-error: true
#------------------------------------------------------------------------------------#