-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
76 lines (58 loc) · 2.2 KB
/
Copy pathjustfile
File metadata and controls
76 lines (58 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Apparatus OS build recipes
# Run `just --list` to see available commands
# Default recipe - show available commands
default:
@just --list
version := `git rev-parse --short HEAD 2>/dev/null || echo "dev"`
# Build the container image
build-container:
@SILVERBLUE_VERSION=$(grep 'SILVERBLUE_VERSION=' apparatus.env | cut -d'=' -f2) && \
podman build --build-arg SILVERBLUE_VERSION=$$SILVERBLUE_VERSION -f ./os/Containerfile.bootc -t apparatus-os .
# Build the ISO (requires container to be built first)
build-iso: build-container
#!/usr/bin/env bash
set -euo pipefail
mkdir -p ./iso-output
podman run --rm -it --privileged \
--security-opt label=type:unconfined_t \
-v ./iso-output:/output \
-v /var/lib/containers/storage:/var/lib/containers/storage \
-v ./os/disk_config/iso.toml:/config.toml:ro \
quay.io/centos-bootc/bootc-image-builder:latest \
--type anaconda-iso \
--rootfs ext4 \
--local \
localhost/apparatus-os:latest
echo "ISO available in: ./iso-output/"
ls -lh ./iso-output/*.iso 2>/dev/null || true
# Build only the container (alias)
container: build-container
# Build the full ISO
iso: build-iso
# Clean build artifacts
clean:
rm -rf ./iso-output
podman rmi apparatus-os:latest 2>/dev/null || true
# Run the container for testing
run-container:
podman run --rm -it apparatus-os:latest /bin/bash
# Check container image exists
check:
@podman images | grep apparatus-os || echo "No apparatus-os image found. Run 'just build-container' first."
# Push container to GHCR
push:
podman push apparatus-os:latest ghcr.io/vincentvdk/apparatus-os:latest
# Build and push container to GHCR
build-push: build-container push
# === Distrobox recipes ===
# Build the distrobox image
build-box:
podman build -f ./box/Containerfile -t ghcr.io/vincentvdk/apparatus-box:latest .
# Push distrobox to GHCR
push-box:
podman push ghcr.io/vincentvdk/apparatus-box:latest
# Build and push distrobox to GHCR
build-push-box: build-box push-box
# Create a new distrobox from the image (usage: just create-box mybox)
create-box name:
distrobox create --image ghcr.io/vincentvdk/apparatus-box:latest --name {{name}}