🐬 Builds GH-Runner Images (Self-Hosted) DockerHub 🐬 #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
#------------------------------------------------------------------------------------# |