Skip to content

Commit ad575a8

Browse files
authored
Merge pull request #35 from sorenisanerd/docker-ext
Build Docker as a sysext
2 parents 91a39b3 + 9c96649 commit ad575a8

File tree

12 files changed

+104
-7
lines changed

12 files changed

+104
-7
lines changed

.github/workflows/build.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
strategy:
99
matrix:
1010
profiles:
11-
- verity-full
11+
- verity-full,docker-ext
1212
- verity-full,docker
1313
runs-on: ubuntu-latest
1414
permissions:
@@ -106,7 +106,15 @@ jobs:
106106
- name: Remove symlinks
107107
run: find out/ -type l -delete
108108
- name: Compress artifacts
109-
run: for file in out/mangos{,-installer}_*.raw out/mangos_*.efi; do zstd --rm "$file" ; done
109+
run: |
110+
for file in out/mangos{,-installer}_*.raw out/mangos_*.efi; do zstd --rm "$file" ; done
111+
if ls out/docker_*.raw > /dev/null 2>&1
112+
then
113+
for file in out/docker_*.raw
114+
do
115+
zstd --rm "$file"
116+
done
117+
fi
110118
- name: Sign artifacts
111119
run: for file in out/mangos* ; do cosign sign-blob -d -y --bundle "${file}.sigbundle" "${file}" > /dev/null; done
112120
- name: Upload build artifact (disk)
@@ -123,6 +131,7 @@ jobs:
123131
out/mangos_${{ env.IMAGE_VERSION }}.github.json
124132
out/mangos_${{ env.IMAGE_VERSION }}.spdx.json
125133
out/mangos_${{ env.IMAGE_VERSION }}.syft.json
134+
out/docker_${{ env.IMAGE_VERSION }}.raw.zst
126135
name: mangos.${{ matrix.profiles }}.disk
127136
- name: Upload build artifact (installer)
128137
uses: actions/upload-artifact@v4
@@ -151,7 +160,7 @@ jobs:
151160
run: |
152161
mkdir release
153162
154-
mv artifacts/mangos.verity-full.disk/* release/
163+
mv artifacts/mangos.verity-full,docker-ext.disk/* release/
155164
mv artifacts/mangos.verity-full.installer/* release/
156165
for f in artifacts/mangos.verity-full,docker.disk/* ; do
157166
mv "$f" "release/mangos+docker_$(basename $f | cut -f2- -d_)"

.github/workflows/pr.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@ jobs:
88
strategy:
99
matrix:
1010
profiles:
11-
- verity-full
11+
- verity-full,docker-ext
1212
- verity-full,docker
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Install cosign
1616
uses: sigstore/[email protected]
17-
- name: Prevent man-db dpkg trigger (speeds up setup-mkosi)
18-
run: sudo rm /var/lib/man-db/auto-update
1917
- name: setup-mkosi
2018
uses: sorenisanerd/mkosi@main
2119
- name: Checkout code
@@ -62,6 +60,7 @@ jobs:
6260
sudo apt-get install -y ovmf
6361
6462
mkosi --debug vm -- -uuid $(uuidgen) > vm.log 2>&1 &
63+
pid=$!
6564
6665
success=0
6766
for try in {1..10}
@@ -88,7 +87,15 @@ jobs:
8887
- name: Remove symlinks
8988
run: find out/ -type l -delete
9089
- name: Compress artifacts
91-
run: for file in out/mangos{,-installer}_*.raw out/mangos_*.efi ; do zstd --rm "$file" ; done
90+
run: |
91+
for file in out/mangos{,-installer}_*.raw out/mangos_*.efi ; do zstd --rm "$file" ; done
92+
if ls out/docker_*.raw > /dev/null 2>&1
93+
then
94+
for file in out/docker_*.raw
95+
do
96+
zstd --rm "$file"
97+
done
98+
fi
9299
- name: Upload build artifact (disk)
93100
id: upload-disk
94101
uses: actions/upload-artifact@v4
@@ -103,6 +110,7 @@ jobs:
103110
out/mangos_${{ env.IMAGE_VERSION }}.github.json
104111
out/mangos_${{ env.IMAGE_VERSION }}.spdx.json
105112
out/mangos_${{ env.IMAGE_VERSION }}.syft.json
113+
out/docker_${{ env.IMAGE_VERSION }}.raw.zst
106114
name: mangos.${{ matrix.profiles }}.disk
107115
- name: Upload build artifact (installer)
108116
uses: actions/upload-artifact@v4
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[Match]
2+
Profiles=|docker-ext
3+
Profiles=|docker

mkosi.profiles/docker/mkosi.sandbox/etc/apt/keyrings/docker.asc renamed to mkosi.conf.d/docker-repos/mkosi.sandbox/etc/apt/keyrings/docker.asc

File renamed without changes.

mkosi.profiles/docker/mkosi.sandbox/etc/apt/sources.list.d/docker.list renamed to mkosi.conf.d/docker-repos/mkosi.sandbox/etc/apt/sources.list.d/docker.list

File renamed without changes.

mkosi.conf.d/docker/mkosi.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[Match]
2+
Profiles=|docker-ext
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[Source]
2+
Type=url-file
3+
Path=http://localhost:1002/
4+
5+
6+
7+
8+
9+
[Target]
10+
Type=regular-file
11+
Path=/var/lib/extensions
12+
InstancesMax=2
13+
14+
Mode=0444
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#Type Name ID GECOS Home directory Shell
2+
g docker 501 -

mkosi.images/docker/mkosi.conf

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[Match]
2+
Profiles=docker-ext
3+
4+
[Config]
5+
Dependencies=base
6+
7+
[Content]
8+
BaseTrees=%O/base_%v
9+
Packages=docker-ce
10+
11+
[Output]
12+
Format=sysext
13+
Overlay=yes
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[Unit]
2+
Upholds=docker.socket

0 commit comments

Comments
 (0)