🐬 Builds GH-Runner Images (Self-Hosted) DockerHub 🐬 #15
This file contains hidden or 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 | |
| #------------------------------------------------------------------------------------# |