Skip to content

Commit 85b49d5

Browse files
author
Ronald Hötschl
committed
ci: build GUI-free apk and deb variants
README names headless servers as the audience for --browser remote, but the only published packages pull the full webview closure: on Alpine that is 599 MiB / 214 packages installed, versus 65 MiB / 43 for the same source built with the GUI flags off. The flags already exist and yuezk#638 made them effective for the package depends=, so this is only a matter of publishing the result. Same source, same builder images; the job differs from build-gp by three -e flags and the artifact name. Scoped to apk and deb because those are the two formats whose depends= is gated on the flags today (Makefile init-apk / init-debian). An rpm built this way would still declare the GUI dependencies, so a CLI rpm would mislead. Kept as a separate job rather than a matrix axis so it cannot affect the existing pipeline; happy to fold it into build-gp's matrix instead if preferred.
1 parent 0c2d483 commit 85b49d5

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

.github/workflows/build.yaml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,56 @@ jobs:
180180
path: |
181181
build-gp-${{ matrix.package }}/artifacts/*
182182
183+
# CLI-only variant, for the headless servers README.md names as the audience
184+
# for `--browser remote`. Same source and same builder images as build-gp;
185+
# only the three GUI flags differ, which #638 made effective for `depends=`.
186+
#
187+
# Scoped to apk and deb: those are the two formats whose depends= is gated on
188+
# the flags today (Makefile `init-apk` / `init-debian`). An rpm built this way
189+
# would still declare the GUI dependencies, so a "CLI" rpm would mislead.
190+
build-gp-cli:
191+
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
192+
needs:
193+
- tarball
194+
strategy:
195+
fail-fast: false
196+
matrix:
197+
os:
198+
- runner: ubuntu-latest
199+
arch: amd64
200+
- runner: ubuntu-24.04-arm
201+
arch: ubuntu-24.04-arm
202+
package: [apk, deb]
203+
runs-on: ${{ matrix.os.runner }}
204+
name: build-gp-cli (${{ matrix.package }}, ${{ matrix.os.arch }})
205+
steps:
206+
- name: Prepare workspace
207+
run: |
208+
rm -rf build-gp-cli-${{ matrix.package }}
209+
mkdir -p build-gp-cli-${{ matrix.package }}
210+
- name: Download tarball
211+
uses: actions/download-artifact@v8
212+
with:
213+
name: artifact-source
214+
path: build-gp-cli-${{ matrix.package }}
215+
- name: Build CLI-only ${{ matrix.package }} package in Docker
216+
run: |
217+
docker run --rm \
218+
-e COREPACK_INTEGRITY_KEYS=0 \
219+
-e LIBXML2_STATIC=1 \
220+
-e INCLUDE_GUI=0 \
221+
-e BUILD_GUI_HELPER=0 \
222+
-e BUILD_WEBVIEW_AUTH=0 \
223+
-v $(pwd)/build-gp-cli-${{ matrix.package }}:/workspace \
224+
yuezk/gpdev:${{ matrix.package }}-builder-tauri2
225+
- name: Upload CLI-only ${{ matrix.package }} package
226+
uses: actions/upload-artifact@v7
227+
with:
228+
name: artifact-gp-cli-${{ matrix.package }}-${{ matrix.os.arch }}
229+
if-no-files-found: error
230+
path: |
231+
build-gp-cli-${{ matrix.package }}/artifacts/*
232+
183233
build-docker-image:
184234
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
185235
strategy:

0 commit comments

Comments
 (0)