Skip to content

Commit fed7124

Browse files
committed
Draft - docker builds.
1 parent 6004ee1 commit fed7124

File tree

1 file changed

+138
-12
lines changed

1 file changed

+138
-12
lines changed

.github/workflows/build.yml

Lines changed: 138 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,9 @@ jobs:
108108
sudo -u ubuntu -n bash -c 'sudo -n groupadd runner --non-unique -g $UID' || true
109109
sudo -u runner -n bash -c 'sudo -n echo $USER $UID' || true
110110
true
111-
# Apparently may increase buildJet 'runner' to 77GB (instead of 61GB).
112-
# Apparently may increase Github Actions 'runner' to 59GB (instead of 31GB) .
111+
# https://github.com/easimon/maximize-build-space
113112
- name: Maximize build space
114-
if: ${{ github.event.inputs.runnerName == 'ubuntu-latest' || github.event.inputs.runnerName == 'ubuntu-22.04' }}
113+
if: ${{ github.event.inputs.runnerName != 'ubuntu-latest-m' && github.event.inputs.runnerName != 'ubuntu-latest-l' && github.event.inputs.runnerName != 'ubuntu-latest-h' && github.event.inputs.runnerName != 'ubuntu-22.04-m' && github.event.inputs.runnerName != 'ubuntu-22.04-l' && github.event.inputs.runnerName != 'ubuntu-22.04-h' }}
115114
uses: easimon/maximize-build-space@master
116115
with:
117116
#root-reserve-mb: 1625
@@ -124,17 +123,60 @@ jobs:
124123
remove-haskell: 'true'
125124
remove-codeql: 'true'
126125
remove-docker-images: 'true'
126+
- name: Maximize build space ! remove ONLY
127+
if: ${{ github.event.inputs.runnerName == 'ubuntu-latest-m' || github.event.inputs.runnerName == 'ubuntu-latest-l' || github.event.inputs.runnerName == 'ubuntu-latest-h' || github.event.inputs.runnerName == 'ubuntu-22.04-m' || github.event.inputs.runnerName == 'ubuntu-22.04-l' || github.event.inputs.runnerName == 'ubuntu-22.04-h' }}
128+
uses: AdityaGarg8/[email protected]
129+
with:
130+
remove-dotnet: 'true'
131+
remove-android: 'true'
132+
remove-haskell: 'true'
133+
remove-codeql: 'true'
134+
remove-docker-images: 'true'
135+
remove-large-packages: 'true'
136+
remove-cached-tools: 'true'
137+
remove-swapfile: 'true'
138+
verbose: 'false'
127139
- uses: actions/checkout@v3
128140
with:
129141
fetch-depth: 1
130142
submodules: 'recursive'
143+
# https://moebuta.org/posts/using-github-actions-to-build-linux-kernels/?utm_source=chatgpt.com
144+
# https://dev.to/emmanuelnk/using-sudo-without-password-prompt-as-non-root-docker-user-52bg
145+
# https://stackoverflow.com/questions/35594987/how-to-force-docker-for-a-clean-build-of-an-image
146+
# https://www.howtogeek.com/devops/how-to-make-docker-rebuild-an-image-without-its-cache/
147+
# ATTRIBUTION-AI: ChatGPT 4o , o1 2025-01-18 .
148+
# ATTENTION: See Dockerfile for additional very relevant example commands, documentation, CAUTIONs, DANGERs, WARNINGs, etc !
149+
- name: Set up Docker Buildx
150+
uses: docker/setup-buildx-action@v3
151+
- name: Log in to GitHub Container Registry
152+
uses: docker/login-action@v3
153+
with:
154+
registry: ghcr.io
155+
username: ${{ github.actor }}
156+
password: ${{ secrets.GITHUB_TOKEN }}
157+
- name: build docker image
158+
#if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
159+
run: |
160+
docker build --pull --no-cache --build-arg HOST_UID=$(id -u) --build-arg HOST_GID=$(id -g) -t debian_bookworm-docker-image:latest .
161+
- name: _build_cloud_lts! docker
162+
if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
163+
run: |
164+
#export skimfast=${{ inputs.skimfast }}
165+
#echo skimfast $skimfast
166+
[[ "${{ github.event.inputs.forceKernel_lts }}" != "" ]] && [[ "${{ github.event.inputs.forceKernel_lts }}" != "latest" ]] && export forceKernel_lts="${{ github.event.inputs.forceKernel_lts }}"
167+
#'export skimfast='"$skimfast"' ; '
168+
docker run --name debian_bookworm-docker-container --rm -v "$PWD":/currentPWD:rw debian_bookworm-docker-image:latest bash -c 'export forceKernel_lts='"$forceKernel_lts"' ; ''./ubiquitous_bash.sh _build_cloud_prepare'
169+
docker run --name debian_bookworm-docker-container --rm -v "$PWD":/currentPWD:rw debian_bookworm-docker-image:latest bash -c 'export forceKernel_lts='"$forceKernel_lts"' ; ''./ubiquitous_bash.sh _build_cloud_lts'
170+
true
131171
- name: _getMinimal_cloud
172+
#if: ${{ github.event.inputs.container == 'none' }}
132173
shell: bash
133174
run: |
134175
export getfast=${{ inputs.getfast }}
135176
./ubiquitous_bash.sh _getMinimal_cloud
136177
timeout-minutes: 90
137178
- name: _build_cloud_lts
179+
if: ${{ github.event.inputs.container == 'none' }}
138180
shell: bash
139181
run: |
140182
#export skimfast=${{ inputs.skimfast }}
@@ -187,10 +229,9 @@ jobs:
187229
sudo -u ubuntu -n bash -c 'sudo -n groupadd runner --non-unique -g $UID' || true
188230
sudo -u runner -n bash -c 'sudo -n echo $USER $UID' || true
189231
true
190-
# Apparently may increase buildJet 'runner' to 77GB (instead of 61GB).
191-
# Apparently may increase Github Actions 'runner' to 59GB (instead of 31GB) .
232+
# https://github.com/easimon/maximize-build-space
192233
- name: Maximize build space
193-
if: ${{ github.event.inputs.runnerName == 'ubuntu-latest' || github.event.inputs.runnerName == 'ubuntu-22.04' }}
234+
if: ${{ github.event.inputs.runnerName != 'ubuntu-latest-m' && github.event.inputs.runnerName != 'ubuntu-latest-l' && github.event.inputs.runnerName != 'ubuntu-latest-h' && github.event.inputs.runnerName != 'ubuntu-22.04-m' && github.event.inputs.runnerName != 'ubuntu-22.04-l' && github.event.inputs.runnerName != 'ubuntu-22.04-h' }}
194235
uses: easimon/maximize-build-space@master
195236
with:
196237
#root-reserve-mb: 1625
@@ -203,17 +244,60 @@ jobs:
203244
remove-haskell: 'true'
204245
remove-codeql: 'true'
205246
remove-docker-images: 'true'
247+
- name: Maximize build space ! remove ONLY
248+
if: ${{ github.event.inputs.runnerName == 'ubuntu-latest-m' || github.event.inputs.runnerName == 'ubuntu-latest-l' || github.event.inputs.runnerName == 'ubuntu-latest-h' || github.event.inputs.runnerName == 'ubuntu-22.04-m' || github.event.inputs.runnerName == 'ubuntu-22.04-l' || github.event.inputs.runnerName == 'ubuntu-22.04-h' }}
249+
uses: AdityaGarg8/[email protected]
250+
with:
251+
remove-dotnet: 'true'
252+
remove-android: 'true'
253+
remove-haskell: 'true'
254+
remove-codeql: 'true'
255+
remove-docker-images: 'true'
256+
remove-large-packages: 'true'
257+
remove-cached-tools: 'true'
258+
remove-swapfile: 'true'
259+
verbose: 'false'
206260
- uses: actions/checkout@v3
207261
with:
208262
fetch-depth: 1
209263
submodules: 'recursive'
264+
# https://moebuta.org/posts/using-github-actions-to-build-linux-kernels/?utm_source=chatgpt.com
265+
# https://dev.to/emmanuelnk/using-sudo-without-password-prompt-as-non-root-docker-user-52bg
266+
# https://stackoverflow.com/questions/35594987/how-to-force-docker-for-a-clean-build-of-an-image
267+
# https://www.howtogeek.com/devops/how-to-make-docker-rebuild-an-image-without-its-cache/
268+
# ATTRIBUTION-AI: ChatGPT 4o , o1 2025-01-18 .
269+
# ATTENTION: See Dockerfile for additional very relevant example commands, documentation, CAUTIONs, DANGERs, WARNINGs, etc !
270+
- name: Set up Docker Buildx
271+
uses: docker/setup-buildx-action@v3
272+
- name: Log in to GitHub Container Registry
273+
uses: docker/login-action@v3
274+
with:
275+
registry: ghcr.io
276+
username: ${{ github.actor }}
277+
password: ${{ secrets.GITHUB_TOKEN }}
278+
- name: build docker image
279+
#if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
280+
run: |
281+
docker build --pull --no-cache --build-arg HOST_UID=$(id -u) --build-arg HOST_GID=$(id -g) -t debian_bookworm-docker-image:latest .
282+
- name: _build_cloud_mainline! docker
283+
if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
284+
run: |
285+
#export skimfast=${{ inputs.skimfast }}
286+
#echo skimfast $skimfast
287+
[[ "${{ github.event.inputs.forceKernel_mainline }}" != "" ]] && [[ "${{ github.event.inputs.forceKernel_mainline }}" != "latest" ]] && export forceKernel_mainline="${{ github.event.inputs.forceKernel_mainline }}"
288+
#'export skimfast='"$skimfast"' ; '
289+
docker run --name debian_bookworm-docker-container --rm -v "$PWD":/currentPWD:rw debian_bookworm-docker-image:latest bash -c 'export forceKernel_mainline='"$forceKernel_mainline"' ; ''./ubiquitous_bash.sh _build_cloud_prepare'
290+
docker run --name debian_bookworm-docker-container --rm -v "$PWD":/currentPWD:rw debian_bookworm-docker-image:latest bash -c 'export forceKernel_mainline='"$forceKernel_mainline"' ; ''./ubiquitous_bash.sh _build_cloud_mainline'
291+
true
210292
- name: _getMinimal_cloud
293+
#if: ${{ github.event.inputs.container == 'none' }}
211294
shell: bash
212295
run: |
213296
export getfast=${{ inputs.getfast }}
214297
./ubiquitous_bash.sh _getMinimal_cloud
215298
timeout-minutes: 90
216299
- name: _build_cloud_mainline
300+
if: ${{ github.event.inputs.container == 'none' }}
217301
shell: bash
218302
run: |
219303
#export skimfast=${{ inputs.skimfast }}
@@ -280,10 +364,9 @@ jobs:
280364
sudo -u ubuntu -n bash -c 'sudo -n groupadd runner --non-unique -g $UID' || true
281365
sudo -u runner -n bash -c 'sudo -n echo $USER $UID' || true
282366
true
283-
# Apparently may increase buildJet 'runner' to 77GB (instead of 61GB).
284-
# Apparently may increase Github Actions 'runner' to 59GB (instead of 31GB) .
367+
# https://github.com/easimon/maximize-build-space
285368
- name: Maximize build space
286-
if: ${{ github.event.inputs.runnerName == 'ubuntu-latest' || github.event.inputs.runnerName == 'ubuntu-22.04' }}
369+
if: ${{ github.event.inputs.runnerName != 'ubuntu-latest-m' && github.event.inputs.runnerName != 'ubuntu-latest-l' && github.event.inputs.runnerName != 'ubuntu-latest-h' && github.event.inputs.runnerName != 'ubuntu-22.04-m' && github.event.inputs.runnerName != 'ubuntu-22.04-l' && github.event.inputs.runnerName != 'ubuntu-22.04-h' }}
287370
uses: easimon/maximize-build-space@master
288371
with:
289372
#root-reserve-mb: 1625
@@ -296,17 +379,60 @@ jobs:
296379
remove-haskell: 'true'
297380
remove-codeql: 'true'
298381
remove-docker-images: 'true'
382+
- name: Maximize build space ! remove ONLY
383+
if: ${{ github.event.inputs.runnerName == 'ubuntu-latest-m' || github.event.inputs.runnerName == 'ubuntu-latest-l' || github.event.inputs.runnerName == 'ubuntu-latest-h' || github.event.inputs.runnerName == 'ubuntu-22.04-m' || github.event.inputs.runnerName == 'ubuntu-22.04-l' || github.event.inputs.runnerName == 'ubuntu-22.04-h' }}
384+
uses: AdityaGarg8/[email protected]
385+
with:
386+
remove-dotnet: 'true'
387+
remove-android: 'true'
388+
remove-haskell: 'true'
389+
remove-codeql: 'true'
390+
remove-docker-images: 'true'
391+
remove-large-packages: 'true'
392+
remove-cached-tools: 'true'
393+
remove-swapfile: 'true'
394+
verbose: 'false'
299395
- uses: actions/checkout@v3
300396
with:
301397
fetch-depth: 1
302398
submodules: 'recursive'
399+
# https://moebuta.org/posts/using-github-actions-to-build-linux-kernels/?utm_source=chatgpt.com
400+
# https://dev.to/emmanuelnk/using-sudo-without-password-prompt-as-non-root-docker-user-52bg
401+
# https://stackoverflow.com/questions/35594987/how-to-force-docker-for-a-clean-build-of-an-image
402+
# https://www.howtogeek.com/devops/how-to-make-docker-rebuild-an-image-without-its-cache/
403+
# ATTRIBUTION-AI: ChatGPT 4o , o1 2025-01-18 .
404+
# ATTENTION: See Dockerfile for additional very relevant example commands, documentation, CAUTIONs, DANGERs, WARNINGs, etc !
405+
- name: Set up Docker Buildx
406+
uses: docker/setup-buildx-action@v3
407+
- name: Log in to GitHub Container Registry
408+
uses: docker/login-action@v3
409+
with:
410+
registry: ghcr.io
411+
username: ${{ github.actor }}
412+
password: ${{ secrets.GITHUB_TOKEN }}
413+
- name: build docker image
414+
#if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
415+
run: |
416+
docker build --pull --no-cache --build-arg HOST_UID=$(id -u) --build-arg HOST_GID=$(id -g) -t debian_bookworm-docker-image:latest .
417+
- name: _build_cloud_mainline-server! docker
418+
if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
419+
run: |
420+
#export skimfast=${{ inputs.skimfast }}
421+
#echo skimfast $skimfast
422+
[[ "${{ github.event.inputs.forceKernel_mainline_server }}" != "" ]] && [[ "${{ github.event.inputs.forceKernel_mainline_server }}" != "latest" ]] && export forceKernel_mainline="${{ github.event.inputs.forceKernel_mainline_server }}"
423+
#'export skimfast='"$skimfast"' ; '
424+
docker run --name debian_bookworm-docker-container --rm -v "$PWD":/currentPWD:rw debian_bookworm-docker-image:latest bash -c 'export forceKernel_mainline='"$forceKernel_mainline"' ; ''./ubiquitous_bash.sh _build_cloud_prepare'
425+
docker run --name debian_bookworm-docker-container --rm -v "$PWD":/currentPWD:rw debian_bookworm-docker-image:latest bash -c 'export forceKernel_mainline='"$forceKernel_mainline"' ; ''./ubiquitous_bash.sh _build_cloud_mainline-server'
426+
true
303427
- name: _getMinimal_cloud
428+
#if: ${{ github.event.inputs.container == 'none' }}
304429
shell: bash
305430
run: |
306431
export getfast=${{ inputs.getfast }}
307432
./ubiquitous_bash.sh _getMinimal_cloud
308433
timeout-minutes: 90
309-
- name: _build_cloud_mainline
434+
- name: _build_cloud_mainline-server
435+
if: ${{ github.event.inputs.container == 'none' }}
310436
shell: bash
311437
run: |
312438
#export skimfast=${{ inputs.skimfast }}
@@ -424,7 +550,7 @@ jobs:
424550
#if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
425551
run: |
426552
docker build --pull --no-cache --build-arg HOST_UID=$(id -u) --build-arg HOST_GID=$(id -g) -t debian_bookworm-docker-image:latest .
427-
- name: _build_cloud_lts! docker
553+
- name: _build_cloud_lts-server! docker
428554
if: ${{ github.event.inputs.container == 'docker' || github.event.inputs.container == '' }}
429555
run: |
430556
#export skimfast=${{ inputs.skimfast }}
@@ -441,7 +567,7 @@ jobs:
441567
export getfast=${{ inputs.getfast }}
442568
./ubiquitous_bash.sh _getMinimal_cloud
443569
timeout-minutes: 90
444-
- name: _build_cloud_lts
570+
- name: _build_cloud_lts-server
445571
if: ${{ github.event.inputs.container == 'none' }}
446572
shell: bash
447573
run: |

0 commit comments

Comments
 (0)