Compare commits
	
		
			2 commits
		
	
	
		
			c9afabb81f
			...
			de7db63642
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | de7db63642 | ||
|  | 95b662533c | 
					 4 changed files with 39 additions and 15 deletions
				
			
		|  | @ -17,10 +17,10 @@ jobs: | ||||||
|   build: |   build: | ||||||
|     runs-on: linux-lg |     runs-on: linux-lg | ||||||
|     container: |     container: | ||||||
|       image: code.lightstands.xyz/standcoded/fedora:40 |       image: fedora:40 | ||||||
|     steps: |     steps: | ||||||
|       - name: Install tools |       - name: Install Tools | ||||||
|         run: dnf install -y --setopt install_weak_deps=False buildah |         run: 'dnf install -y --setopt install_weak_deps=False nodejs git buildah qemu-user-static qemu-user-binfmt fuse-overlayfs --exclude container-selinux' | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v3 | ||||||
|       - name: Fulfill Package Manager Cache |       - name: Fulfill Package Manager Cache | ||||||
|  | @ -28,17 +28,17 @@ jobs: | ||||||
|       - name: Build Minimal Images |       - name: Build Minimal Images | ||||||
|         run: | |         run: | | ||||||
|           cd fedora-40-minimal && \ |           cd fedora-40-minimal && \ | ||||||
|           buildah --cgroup-manager=cgroupfs manifest create code.lightstands.xyz/standcoded/fedora-minimal:40 && \ |           buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs manifest create code.lightstands.xyz/standcoded/fedora:40-minimal && \ | ||||||
|           buildah --cgroup-manager=cgroupfs build --arch aarch64 \ |           buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs build --arch aarch64 \ | ||||||
|             --pid=host --ipc=host --network=host --userns=host --uts=host -v /var/cache/dnf:/var/cache/dnf \ |             --pid=host --ipc=host --network=host --userns=host --uts=host -v /var/cache/dnf:/var/cache/dnf \ | ||||||
|             --manifest code.lightstands.xyz/standcoded/fedora-minimal:40 . |             --manifest code.lightstands.xyz/standcoded/fedora:40-minimal . | ||||||
|         env: |         env: | ||||||
|           BUILDAH_ISOLATION: chroot |           BUILDAH_ISOLATION: chroot | ||||||
|       - name: Build Images |       - name: Build Images | ||||||
|         run: | |         run: | | ||||||
|           cd fedora-40 && \ |           cd fedora-40 && \ | ||||||
|           buildah --cgroup-manager=cgroupfs manifest create code.lightstands.xyz/standcoded/fedora:40 && \ |           buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs manifest create code.lightstands.xyz/standcoded/fedora:40 && \ | ||||||
|           buildah --cgroup-manager=cgroupfs build --arch aarch64 \ |           buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs build --arch aarch64 \ | ||||||
|             --pid=host --ipc=host --network=host --userns=host --uts=host -v /var/cache/dnf:/var/cache/dnf \ |             --pid=host --ipc=host --network=host --userns=host --uts=host -v /var/cache/dnf:/var/cache/dnf \ | ||||||
|             --manifest code.lightstands.xyz/standcoded/fedora:40 . |             --manifest code.lightstands.xyz/standcoded/fedora:40 . | ||||||
|         env: |         env: | ||||||
|  |  | ||||||
|  | @ -17,11 +17,25 @@ RUN dnf install -y --setopt install_weak_deps=False buildah podman --exclude con | ||||||
| # We don't clean up dnf cache since user may want to install packages for their use | # We don't clean up dnf cache since user may want to install packages for their use | ||||||
| 
 | 
 | ||||||
| ADD containers.conf /etc/containers/ | ADD containers.conf /etc/containers/ | ||||||
| ADD containers/storage.conf /etc/containers/ |  | ||||||
| 
 | 
 | ||||||
| # Adjust storage.conf to enable Fuse storage. | # Copy & modify the defaults to provide reference if runtime changes needed. | ||||||
| RUN sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf | # Changes here are required for running with fuse-overlay storage inside container. | ||||||
| RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock | RUN sed -e 's|^#mount_program|mount_program|g' \ | ||||||
|  |     -e '/additionalimage.*/a "/var/lib/shared",' \ | ||||||
|  |     -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' \ | ||||||
|  |     /usr/share/containers/storage.conf \ | ||||||
|  |     > /etc/containers/storage.conf && \ | ||||||
|  |     chmod 644 /etc/containers/storage.conf && \ | ||||||
|  |     chmod 644 /etc/containers/containers.conf | ||||||
|  | 
 | ||||||
|  | RUN mkdir -p /var/lib/shared/overlay-images \ | ||||||
|  |     /var/lib/shared/overlay-layers \ | ||||||
|  |     /var/lib/shared/vfs-images \ | ||||||
|  |     /var/lib/shared/vfs-layers && \ | ||||||
|  |     touch /var/lib/shared/overlay-images/images.lock && \ | ||||||
|  |     touch /var/lib/shared/overlay-layers/layers.lock && \ | ||||||
|  |     touch /var/lib/shared/vfs-images/images.lock && \ | ||||||
|  |     touch /var/lib/shared/vfs-layers/layers.lock | ||||||
| 
 | 
 | ||||||
| # Define uid/gid ranges for our user https://github.com/containers/buildah/issues/3053 | # Define uid/gid ranges for our user https://github.com/containers/buildah/issues/3053 | ||||||
| RUN useradd action && \ | RUN useradd action && \ | ||||||
|  | @ -31,6 +45,18 @@ RUN useradd action && \ | ||||||
|     mkdir -p /home/action/.config/containers && \ |     mkdir -p /home/action/.config/containers && \ | ||||||
|     chown -R action:action /home/action |     chown -R action:action /home/action | ||||||
| 
 | 
 | ||||||
|  | # See:  https://github.com/containers/buildah/issues/4669 | ||||||
|  | # Copy & modify the config for the `action` user and remove the global | ||||||
|  | # `runroot` and `graphroot` which current `actuib` user cannot access, | ||||||
|  | # in such case storage will choose a runroot in `/var/tmp`. | ||||||
|  | RUN sed -e 's|^#mount_program|mount_program|g' \ | ||||||
|  |         -e 's|^graphroot|#graphroot|g' \ | ||||||
|  |         -e 's|^runroot|#runroot|g' \ | ||||||
|  |         /etc/containers/storage.conf \ | ||||||
|  |         > /home/action/.config/containers/storage.conf && \ | ||||||
|  |         chown action:action /home/action/.config/containers/storage.conf | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| VOLUME /var/lib/containers | VOLUME /var/lib/containers | ||||||
| VOLUME /home/action/.local/share/containers | VOLUME /home/action/.local/share/containers | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,2 +0,0 @@ | ||||||
| [storage.option.overlay] |  | ||||||
| mount_program="/usr/bin/fuse-overlayfs" |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| FROM code.lightstands.xyz/standcoded/fedora-minimal:40 | FROM code.lightstands.xyz/standcoded/fedora:40-minimal | ||||||
| 
 | 
 | ||||||
| RUN dnf install -y --setopt install_weak_deps=False sqlite-devel binutils | RUN dnf install -y --setopt install_weak_deps=False sqlite-devel binutils | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue