🐬 Builds GH-Builder Images (Self-Hosted) DockerHub 🐬 #24
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-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 | |
| #------------------------------------------------------------------------------------# |