Skip to content

Commit 0d4bbf0

Browse files
committed
add
1 parent a85b25f commit 0d4bbf0

File tree

2 files changed

+233
-0
lines changed

2 files changed

+233
-0
lines changed

.github/workflows/build_gh_builder_images.yaml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,93 @@ jobs:
105105
ghcr.io/pkgforge/devscripts/alpine-builder:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
106106
outputs: type=registry,compression=zstd,compression-level=22
107107
continue-on-error: true
108+
#------------------------------------------------------------------------------------#
109+
build-push-docker-alpine-slim:
110+
name: Push (Alpine-Slim ${{ matrix.arch }}) --> Docker Hub
111+
runs-on: ${{ matrix.runner }}
112+
strategy:
113+
matrix:
114+
include:
115+
- arch: aarch64
116+
platform: arm64
117+
runner: ubuntu-24.04-arm
118+
- arch: loongarch64
119+
platform: loong64
120+
runner: ubuntu-latest
121+
- arch: riscv64
122+
platform: riscv64
123+
runner: ubuntu-latest
124+
- arch: x86_64
125+
platform: amd64
126+
runner: ubuntu-latest
127+
128+
steps:
129+
- name: Checkout repository
130+
uses: actions/checkout@v4
131+
with:
132+
path: main
133+
filter: "blob:none"
134+
135+
- name: Debloat Runner
136+
run: |
137+
#Presets
138+
set +x ; set +e
139+
#--------------#
140+
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh") --force
141+
continue-on-error: true
142+
143+
- name: Setup Env
144+
run: |
145+
#Presets
146+
set +x ; set +e
147+
#--------------#
148+
#Docker Tags
149+
DOCKER_TAG="v$(date +'%Y.%m.%d')" && export DOCKER_TAG="${DOCKER_TAG}"
150+
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${GITHUB_ENV}"
151+
#Copy dockerfiles
152+
mkdir -p "/tmp/DOCKERFILES" && cd "/tmp/DOCKERFILES"
153+
cp "${GITHUB_WORKSPACE}/main/Github/Runners/alpine-slim.dockerfile" "/tmp/DOCKERFILES/alpine-slim.dockerfile"
154+
continue-on-error: true
155+
156+
- name: Set up QEMU
157+
uses: docker/setup-qemu-action@v3
158+
continue-on-error: true
159+
160+
- name: Set up Docker Buildx
161+
uses: docker/setup-buildx-action@v3
162+
continue-on-error: true
163+
164+
- name: Login to Docker Hub
165+
uses: docker/login-action@v3
166+
with:
167+
username: "${{ secrets.DOCKERHUB_USERNAME }}"
168+
password: "${{ secrets.DOCKERHUB_TOKEN }}"
169+
continue-on-error: true
170+
171+
- name: Login to GHCR
172+
uses: docker/login-action@v3
173+
with:
174+
registry: ghcr.io
175+
username: "${{ github.actor }}"
176+
password: "${{ secrets.GITHUB_TOKEN }}"
177+
continue-on-error: true
178+
179+
#https://hub.docker.com/r/pkgforge/alpine-slim
180+
- name: Docker Build and Push (alpine-slim:${{ matrix.arch }})
181+
uses: docker/build-push-action@v6
182+
with:
183+
context: /tmp/DOCKERFILES/
184+
file: "/tmp/DOCKERFILES/alpine-slim.dockerfile"
185+
platforms: "linux/${{ matrix.platform }}"
186+
build-args: |
187+
ARCH=${{ matrix.arch }}
188+
tags: |
189+
pkgforge/alpine-slim:${{ matrix.arch }}
190+
pkgforge/alpine-slim:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
191+
ghcr.io/pkgforge/devscripts/alpine-slim:${{ matrix.arch }}
192+
ghcr.io/pkgforge/devscripts/alpine-slim:${{ matrix.arch }}-${{ env.DOCKER_TAG }}
193+
outputs: type=registry,compression=zstd,compression-level=22
194+
continue-on-error: true
108195
#------------------------------------------------------------------------------------#
109196
# build-push-docker-alpine-mimalloc-edge:
110197
# name: Push (Alpine-Mimalloc-edge) --> Docker Hub
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# syntax=docker/dockerfile:1
2+
#------------------------------------------------------------------------------------#
3+
#https://hub.docker.com/r/pkgforge/alpine-builder
4+
#FROM alpine:edge
5+
ARG ARCH
6+
FROM "ghcr.io/pkgforge/devscripts/alpine:${ARCH}"
7+
#------------------------------------------------------------------------------------#
8+
##Base Deps :: https://pkgs.alpinelinux.org/packages
9+
RUN <<EOS
10+
set +e
11+
apk update && apk upgrade --no-interactive 2>/dev/null
12+
apk add alpine-sdk --latest --upgrade --no-interactive 2>/dev/null
13+
apk add autoconf --latest --upgrade --no-interactive 2>/dev/null
14+
apk add autoconf-archive --latest --upgrade --no-interactive 2>/dev/null
15+
apk add automake --latest --upgrade --no-interactive 2>/dev/null
16+
apk add b3sum --latest --upgrade --no-interactive 2>/dev/null
17+
apk add bash --latest --upgrade --no-interactive 2>/dev/null
18+
apk add bc --latest --upgrade --no-interactive 2>/dev/null
19+
apk add binutils --latest --upgrade --no-interactive 2>/dev/null
20+
apk add brotli-static --latest --upgrade --no-interactive 2>/dev/null
21+
apk add build-base --latest --upgrade --no-interactive 2>/dev/null
22+
apk add bzip2-static --latest --upgrade --no-interactive 2>/dev/null
23+
apk add bzip3-static --latest --upgrade --no-interactive 2>/dev/null
24+
apk add c-ares-dev --latest --upgrade --no-interactive 2>/dev/null
25+
apk add ca-certificates --latest --upgrade --no-interactive 2>/dev/null
26+
apk add cairo-static --latest --upgrade --no-interactive 2>/dev/null
27+
apk add clang --latest --upgrade --no-interactive 2>/dev/null
28+
apk add clang-static --latest --upgrade --no-interactive 2>/dev/null
29+
apk add cmake --latest --upgrade --no-interactive 2>/dev/null
30+
apk add coreutils --latest --upgrade --no-interactive 2>/dev/null
31+
apk add croc --latest --upgrade --no-interactive 2>/dev/null
32+
apk add curl --latest --upgrade --no-interactive 2>/dev/null
33+
apk add curl-static --latest --upgrade --no-interactive 2>/dev/null
34+
apk add diffutils --latest --upgrade --no-interactive 2>/dev/null
35+
apk add dos2unix --latest --upgrade --no-interactive 2>/dev/null
36+
apk add file --latest --upgrade --no-interactive 2>/dev/null
37+
apk add findutils --latest --upgrade --no-interactive 2>/dev/null
38+
apk add fuse --latest --upgrade --no-interactive 2>/dev/null
39+
apk add fuse-static --latest --upgrade --no-interactive 2>/dev/null
40+
apk add fuse3 --latest --upgrade --no-interactive 2>/dev/null
41+
apk add fuse3-static --latest --upgrade --no-interactive 2>/dev/null
42+
apk add g++ --latest --upgrade --no-interactive 2>/dev/null
43+
apk add gawk --latest --upgrade --no-interactive 2>/dev/null
44+
apk add gcc --latest --upgrade --no-interactive 2>/dev/null
45+
apk add gettext-static --latest --upgrade --no-interactive 2>/dev/null
46+
apk add git --latest --upgrade --no-interactive 2>/dev/null
47+
apk add gnupg --latest --upgrade --no-interactive 2>/dev/null
48+
apk add grep --latest --upgrade --no-interactive 2>/dev/null
49+
apk add iputils --latest --upgrade --no-interactive 2>/dev/null
50+
apk add jq --latest --upgrade --no-interactive 2>/dev/null
51+
apk add libarchive-static --latest --upgrade --no-interactive 2>/dev/null
52+
apk add libc-dev --latest --upgrade --no-interactive 2>/dev/null
53+
apk add libcap-static --latest --upgrade --no-interactive 2>/dev/null
54+
apk add libcap-ng-static --latest --upgrade --no-interactive 2>/dev/null
55+
apk add libcurl --latest --upgrade --no-interactive 2>/dev/null
56+
apk add libssh2-static --latest --upgrade --no-interactive 2>/dev/null
57+
apk add libx11-static --latest --upgrade --no-interactive 2>/dev/null
58+
apk add libxcb-static --latest --upgrade --no-interactive 2>/dev/null
59+
apk add libxi-static --latest --upgrade --no-interactive 2>/dev/null
60+
apk add libxkbcommon-static --latest --upgrade --no-interactive 2>/dev/null
61+
apk add libxmlb --latest --upgrade --no-interactive 2>/dev/null
62+
apk add libxml2-static --latest --upgrade --no-interactive 2>/dev/null
63+
apk add libzmq-static --latest --upgrade --no-interactive 2>/dev/null
64+
apk add lld --latest --upgrade --no-interactive 2>/dev/null
65+
apk add linux-headers --latest --upgrade --no-interactive 2>/dev/null
66+
apk add llvm --latest --upgrade --no-interactive 2>/dev/null
67+
apk add llvm-libs --latest --upgrade --no-interactive 2>/dev/null
68+
apk add llvm-linker-tools --latest --upgrade --no-interactive 2>/dev/null
69+
apk add llvm-static --latest --upgrade --no-interactive 2>/dev/null
70+
apk add lz4-static --latest --upgrade --no-interactive 2>/dev/null
71+
apk add make --latest --upgrade --no-interactive 2>/dev/null
72+
apk add mold --latest --upgrade --no-interactive 2>/dev/null
73+
apk add moreutils --latest --upgrade --no-interactive 2>/dev/null
74+
apk add musl --latest --upgrade --no-interactive 2>/dev/null
75+
apk add musl-dev --latest --upgrade --no-interactive 2>/dev/null
76+
apk add musl-fts --latest --upgrade --no-interactive 2>/dev/null
77+
apk add musl-fts-dev --latest --upgrade --no-interactive 2>/dev/null
78+
apk add musl-utils --latest --upgrade --no-interactive 2>/dev/null
79+
apk add nano --latest --upgrade --no-interactive 2>/dev/null
80+
apk add nasm --latest --upgrade --no-interactive 2>/dev/null
81+
apk add ncdu --latest --upgrade --no-interactive 2>/dev/null
82+
apk add ncurses-static --latest --upgrade --no-interactive 2>/dev/null
83+
apk add net-tools --latest --upgrade --no-interactive 2>/dev/null
84+
apk add openssl --latest --upgrade --no-interactive 2>/dev/null
85+
apk add openssl-dev --latest --upgrade --no-interactive 2>/dev/null
86+
apk add openssl-libs-static --latest --upgrade --no-interactive 2>/dev/null
87+
apk add patchelf --latest --upgrade --no-interactive 2>/dev/null
88+
apk add pcre-dev --latest --upgrade --no-interactive 2>/dev/null
89+
apk add pcre2-dev --latest --upgrade --no-interactive 2>/dev/null
90+
apk add pkgconfig --latest --upgrade --no-interactive 2>/dev/null
91+
apk add python3 --latest --upgrade --no-interactive 2>/dev/null
92+
apk add python3-dev --latest --upgrade --no-interactive 2>/dev/null
93+
apk add readline-static --latest --upgrade --no-interactive 2>/dev/null
94+
apk add rsync --latest --upgrade --no-interactive 2>/dev/null
95+
apk add rustup --latest --upgrade --no-interactive 2>/dev/null ; rustup-init -y
96+
#https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/rustup/APKBUILD#L8
97+
hash -r &>/dev/null
98+
command -v cargo || apk add cargo --latest --upgrade --no-interactive 2>/dev/null
99+
apk add samurai --latest --upgrade --no-interactive 2>/dev/null
100+
apk add sed --latest --upgrade --no-interactive 2>/dev/null
101+
apk add sqlite-static --latest --upgrade --no-interactive 2>/dev/null
102+
apk add sudo --latest --upgrade --no-interactive 2>/dev/null
103+
apk add tar --latest --upgrade --no-interactive 2>/dev/null
104+
apk add tree --latest --upgrade --no-interactive 2>/dev/null
105+
apk add tzdata --latest --upgrade --no-interactive 2>/dev/null
106+
apk add upx --latest --upgrade --no-interactive 2>/dev/null
107+
apk add util-linux-static --latest --upgrade --no-interactive 2>/dev/null
108+
apk add wayland-static --latest --upgrade --no-interactive 2>/dev/null
109+
apk add wget --latest --upgrade --no-interactive 2>/dev/null
110+
apk add xxd --latest --upgrade --no-interactive 2>/dev/null
111+
apk add xxhash --latest --upgrade --no-interactive 2>/dev/null
112+
apk add xz --latest --upgrade --no-interactive 2>/dev/null
113+
apk add xz-static --latest --upgrade --no-interactive 2>/dev/null
114+
apk add yaml-static --latest --upgrade --no-interactive 2>/dev/null
115+
apk add zlib-static --latest --upgrade --no-interactive 2>/dev/null
116+
apk add zstd --latest --upgrade --no-interactive 2>/dev/null
117+
apk add zstd-static --latest --upgrade --no-interactive 2>/dev/null
118+
apk add 7zip --latest --upgrade --no-interactive 2>/dev/null
119+
#Stats
120+
apk stats
121+
EOS
122+
#------------------------------------------------------------------------------------#
123+
##Addons
124+
RUN <<EOS
125+
set +e
126+
#musl-gcc wrapper
127+
ln --symbolic "/usr/bin/$(uname -m)-alpine-linux-musl-gcc" "/usr/local/bin/musl-gcc" 2>/dev/null
128+
#cleanup
129+
apk info -L
130+
rm -rfv "/var/cache/apk/"* 2>/dev/null
131+
#Exit
132+
true
133+
EOS
134+
#------------------------------------------------------------------------------------#
135+
##Config
136+
RUN <<EOS
137+
#Configure ENV
138+
curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/refs/heads/main/Linux/.bashrc" -o "/etc/bash.bashrc"
139+
ln --symbolic --force "/etc/bash.bashrc" "/root/.bashrc" 2>/dev/null
140+
ln --symbolic --force "/etc/bash.bashrc" "/home/alpine/.bashrc" 2>/dev/null
141+
ln --symbolic --force "/etc/bash.bashrc" "/etc/bash/bashrc" 2>/dev/null
142+
EOS
143+
ENV GIT_ASKPASS="/bin/echo"
144+
ENV GIT_TERMINAL_PROMPT="0"
145+
#------------------------------------------------------------------------------------#
146+
#END

0 commit comments

Comments
 (0)