Skip to content

Commit 31c7fa2

Browse files
committed
Split out config files into a non-base image
Ref #85
1 parent c007c8e commit 31c7fa2

File tree

3 files changed

+76
-53
lines changed

3 files changed

+76
-53
lines changed

.github/workflows/build.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,14 @@ jobs:
4242

4343
# enabled by default, disable if your image is small and you want faster builds
4444
maximize_build_space: true
45+
46+
- name: Build Aviary Image
47+
uses: blue-build/github-action@v1.9
48+
with:
49+
recipe: recipe.yml
50+
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
51+
registry_token: ${{ github.token }}
52+
pr_event_number: ${{ github.event.number }}
53+
54+
# enabled by default, disable if your image is small and you want faster builds
55+
maximize_build_space: true

recipes/base-recipe.yml

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -66,59 +66,6 @@ modules:
6666
install:
6767
- 6433 # App menu is back
6868
- 5410 # Grand Theft Focus
69-
- type: gschema-overrides
70-
include:
71-
- zz1-disable-gnome-shell-animations.gschema.override
72-
- zz1-disable-screen-lock.gschema.override
73-
- zz1-gnome-shell-extensions.gschema.override
74-
- zz1-set-gnome-shell-dock.gschema.override
75-
- zz1-suppress-autosuspend.gschema.override
76-
- type: containerfile
77-
snippets:
78-
- >
79-
RUN --mount=type=bind,src=apps/aviaryui,dst=/tmp/aviaryui
80-
cd /tmp/aviaryui &&
81-
rpm-ostree install meson cmake glib2-devel gtk4-devel &&
82-
meson setup /tmp/aviaryui-meson --prefix=/usr &&
83-
meson compile -C /tmp/aviaryui-meson/ &&
84-
meson install -C /tmp/aviaryui-meson
85-
# TODO figure out how to rip these build deps out of the final image
86-
# rpm-ostree uninstall meson cmake glib2-devel gtk4-devel
87-
- type: containerfile
88-
snippets:
89-
# XXX figure out why, without --no-bin-links, npm throws EROFS on chmod() on index.js... which SEEMINGLY is actually the creation of a symlink?
90-
# Except manually creating the symlink works just fine...?
91-
- RUN --mount=type=bind,src=apps/birdhoused,dst=/tmp/birdhoused cd /tmp/birdhoused && npm --no-bin-links --prefix=/usr install -g --install-links --omit=dev . && ln -s /usr/lib/node_modules/birdhouse-client/index.js /usr/bin/birdhoused && rm -rf /root/.npm
92-
- type: files
93-
files:
94-
- source: usr
95-
destination: /usr
96-
- source: etc
97-
destination: /etc
98-
# TODO lol should this just use the above directory? I didn't because then it makes the dir hidden in the development repo filesystem...
99-
- source: home-config
100-
destination: /etc/skel/.config
101-
- type: os-release
102-
properties:
103-
ID: seaglav
104-
ID_LIKE: fedora
105-
NAME: SeaGL Aviary Linux
106-
PRETTY_NAME: SeaGL Avian Linux 2025 (FROM Fedora Silverblue 42)
107-
CODE_NAME: '2025'
108-
109-
IMAGE_VENDOR: SeaGL
110-
IMAGE_NAME: av-linux
111-
IMAGE_LIKE: fedora
112-
113-
HOME_URL: https://github.com/SeaGL/av-linux
114-
DOCUMENTATION_URL: https://github.com/SeaGL/av-linux/blob/main/README.md
115-
SUPPORT_URL: https://seagl.org/chat
116-
BUG_SUPPORT_URL: https://github.com/SeaGL/av-linux/issues
117-
LOGO_ICON: seagl-logo-icon
118-
# TODO LOGO_COLOR
119-
- type: containerfile
120-
containerfiles:
121-
- main
12269

12370
- type: signing
12471

recipes/recipe.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
3+
name: aviary-linux-base
4+
description: SeaGL Aviary Linux (base software image)
5+
6+
base-image: ghcr.io/seagl/aviary-linux-base
7+
image-version: latest
8+
9+
modules:
10+
- type: gschema-overrides
11+
include:
12+
- zz1-disable-gnome-shell-animations.gschema.override
13+
- zz1-disable-screen-lock.gschema.override
14+
- zz1-gnome-shell-extensions.gschema.override
15+
- zz1-set-gnome-shell-dock.gschema.override
16+
- zz1-suppress-autosuspend.gschema.override
17+
- type: containerfile
18+
snippets:
19+
- >
20+
RUN --mount=type=bind,src=apps/aviaryui,dst=/tmp/aviaryui
21+
cd /tmp/aviaryui &&
22+
rpm-ostree install meson cmake glib2-devel gtk4-devel &&
23+
meson setup /tmp/aviaryui-meson --prefix=/usr &&
24+
meson compile -C /tmp/aviaryui-meson/ &&
25+
meson install -C /tmp/aviaryui-meson
26+
# TODO figure out how to rip these build deps out of the final image
27+
# rpm-ostree uninstall meson cmake glib2-devel gtk4-devel
28+
- type: containerfile
29+
snippets:
30+
# XXX figure out why, without --no-bin-links, npm throws EROFS on chmod() on index.js... which SEEMINGLY is actually the creation of a symlink?
31+
# Except manually creating the symlink works just fine...?
32+
- RUN --mount=type=bind,src=apps/birdhoused,dst=/tmp/birdhoused cd /tmp/birdhoused && npm --no-bin-links --prefix=/usr install -g --install-links --omit=dev . && ln -s /usr/lib/node_modules/birdhouse-client/index.js /usr/bin/birdhoused && rm -rf /root/.npm
33+
- type: files
34+
files:
35+
- source: usr
36+
destination: /usr
37+
- source: etc
38+
destination: /etc
39+
# TODO lol should this just use the above directory? I didn't because then it makes the dir hidden in the development repo filesystem...
40+
- source: home-config
41+
destination: /etc/skel/.config
42+
- type: os-release
43+
properties:
44+
ID: seaglav
45+
ID_LIKE: fedora
46+
NAME: SeaGL Aviary Linux
47+
PRETTY_NAME: SeaGL Avian Linux 2025 (FROM Fedora Silverblue 42)
48+
CODE_NAME: '2025'
49+
50+
IMAGE_VENDOR: SeaGL
51+
IMAGE_NAME: av-linux
52+
IMAGE_LIKE: fedora
53+
54+
HOME_URL: https://github.com/SeaGL/av-linux
55+
DOCUMENTATION_URL: https://github.com/SeaGL/av-linux/blob/main/README.md
56+
SUPPORT_URL: https://seagl.org/chat
57+
BUG_SUPPORT_URL: https://github.com/SeaGL/av-linux/issues
58+
LOGO_ICON: seagl-logo-icon
59+
# TODO LOGO_COLOR
60+
- type: containerfile
61+
containerfiles:
62+
- main
63+
64+
- type: signing
65+

0 commit comments

Comments
 (0)