Skip to content

🐬 Builds GH-Runner Images (Self-Hosted) DockerHub 🐬 #15

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

🐬 Builds GH-Runner Images (Self-Hosted) DockerHub 🐬 #15

name: 🐬 Builds GH-Runner 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 * * 4" # 08:30 PM UTC Fri (02:15 AM NPT Fri 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) --> 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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/alpine-builder.dockerfile"
platforms: "linux/amd64,linux/arm64"
tags: |
pkgforge/alpine-builder:latest
pkgforge/alpine-builder:latest-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/alpine-builder:latest
ghcr.io/pkgforge/devscripts/alpine-builder:latest-${{ env.DOCKER_TAG }}
push: true
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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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"
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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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"
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) --> 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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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"
tags: |
pkgforge/archlinux-builder:latest
pkgforge/archlinux-builder:latest-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/archlinux-builder:latest
ghcr.io/pkgforge/devscripts/archlinux-builder:latest-${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-ubuntu-base-aarch64:
name: Push (Ubuntu-Base-aarch64) --> Docker Hub
#runs-on: arm64-linux-healthchecker
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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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/arm64"
tags: |
pkgforge/ubuntu-systemd-base:aarch64
pkgforge/ubuntu-systemd-base:aarch64-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/ubuntu-systemd-base:aarch64
ghcr.io/pkgforge/devscripts/ubuntu-systemd-base:aarch64-${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-ubuntu-base-x64:
name: Push (Ubuntu-Base-x64) --> 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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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/amd64"
tags: |
pkgforge/ubuntu-systemd-base:x86_64
pkgforge/ubuntu-systemd-base:x86_64-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/ubuntu-systemd-base:x86_64
ghcr.io/pkgforge/devscripts/ubuntu-systemd-base:x86_64-${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-debian-unstable-base:
name: Push (Debian-Builder) --> 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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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-Unstable-Base)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/debian-builder-unstable.dockerfile"
platforms: "linux/amd64,linux/arm64"
tags: |
pkgforge/debian-builder-unstable:latest
pkgforge/debian-builder-unstable:latest-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/debian-builder-unstable:latest
ghcr.io/pkgforge/devscripts/debian-builder-unstable:latest-${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-ubuntu-builder:
name: Push (Ubuntu-Builder) --> 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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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/amd64,linux/arm64"
tags: |
pkgforge/ubuntu-builder:latest
pkgforge/ubuntu-builder:latest-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/ubuntu-builder:latest
ghcr.io/pkgforge/devscripts/ubuntu-builder:latest-${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-runner-aarch64:
name: Push (runner-aarch64) --> Docker Hub
runs-on: ubuntu-latest
#needs: [build-push-docker-ubuntu-base]
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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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/aarch64-ubuntu.dockerfile" "/tmp/DOCKERFILES/aarch64-ubuntu.dockerfile"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/manage_linux.sh" "/tmp/DOCKERFILES/manager.sh"
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/gh-runner-aarch64-ubuntu
- name: Docker Build and Push (gh-runner-aarch64-ubuntu)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/aarch64-ubuntu.dockerfile"
#platforms: "linux/amd64,linux/arm64"
platforms: "linux/arm64"
tags: |
pkgforge/gh-runner-aarch64-ubuntu:latest
pkgforge/gh-runner-aarch64-ubuntu:latest-${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/gh-runner-aarch64-ubuntu:latest
ghcr.io/pkgforge/devscripts/gh-runner-aarch64-ubuntu:latest-${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#
build-push-docker-runner-x86-64:
name: Push (runner-x86_64) --> Docker Hub
runs-on: ubuntu-latest
#needs: [build-push-docker-ubuntu-base]
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/refs/heads/main/Github/Runners/debloat_ubuntu.sh")
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/x86_64-ubuntu.dockerfile" "/tmp/DOCKERFILES/x86_64-ubuntu.dockerfile"
cp "${GITHUB_WORKSPACE}/main/Github/Runners/manage_linux.sh" "/tmp/DOCKERFILES/manager.sh"
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/gh-runner-x86_64-ubuntu
- name: Docker Build and Push (gh-runner-x86_64-ubuntu)
uses: docker/build-push-action@v6
with:
context: /tmp/DOCKERFILES/
file: "/tmp/DOCKERFILES/x86_64-ubuntu.dockerfile"
#platforms: "linux/amd64,linux/arm64"
platforms: "linux/amd64"
tags: |
pkgforge/gh-runner-x86_64-ubuntu:latest
pkgforge/gh-runner-x86_64-ubuntu:${{ env.DOCKER_TAG }}
ghcr.io/pkgforge/devscripts/gh-runner-x86_64-ubuntu:latest
ghcr.io/pkgforge/devscripts/gh-runner-x86_64-ubuntu:${{ env.DOCKER_TAG }}
push: true
continue-on-error: true
#------------------------------------------------------------------------------------#