Skip to content

Commit 79bd0bd

Browse files
authored
Add Workbench CLI (#858)
1 parent ac687e9 commit 79bd0bd

File tree

28 files changed

+1114
-500
lines changed

28 files changed

+1114
-500
lines changed

.github/workflows/CI.yaml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
name: CI
22

3+
# See also https://github.com/flatpak/flatpak-github-actions
4+
35
on:
46
pull_request:
57
branches: [main]
@@ -10,34 +12,37 @@ jobs:
1012
steps:
1113
- uses: actions/checkout@v3
1214
with:
13-
submodules: "recursive"
15+
submodules: recursive
1416

1517
- uses: actions/setup-node@v3
1618
with:
1719
node-version: 18
1820
cache: "npm"
1921

20-
# See also https://github.com/flatpak/flatpak-github-actions
21-
- uses: awalsh128/cache-apt-pkgs-action@latest
22-
with:
23-
packages: flatpak flatpak-builder
24-
version: 1.0
22+
- name: Install host dependencies
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get install flatpak flatpak-builder mutter
2526
2627
# Restore caches
2728
- name: Restore Flatpak dependencies
2829
uses: actions/cache/restore@v3
2930
with:
3031
path: ~/.local/share/flatpak
3132
key: ${{ runner.os }}-flatpak-dependencies-${{ github.run_id }}
32-
restore-keys: ${{ runner.os }}-flatpak-dependencies-
33+
restore-keys: |
34+
${{ runner.os }}-flatpak-dependencies-
3335
- name: Restore .flatpak-builder
3436
uses: actions/cache/restore@v3
3537
with:
3638
path: .flatpak-builder
3739
key: ${{ runner.os }}-flatpak-builder-${{ github.run_id }}
38-
restore-keys: ${{ runner.os }}-flatpak-builder-
40+
restore-keys: |
41+
${{ runner.os }}-flatpak-builder-
3942
43+
- run: mutter --wayland --no-x11 --headless --wayland-display=wayland-0 --virtual-monitor 1280x720 > /tmp/mutter.log 2>&1 &
4044
- run: make ci
45+
- run: cat /tmp/mutter.log
4146

4247
# Save caches
4348
- name: Save Flatpak dependencies

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ install
1414
.venv
1515
__pycache__
1616
*.pyc
17+
*.gresource
1718

1819
# IDEs / editors
1920
.idea

Makefile

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
SHELL:=/bin/bash -O globstar
2-
.PHONY: setup lint unit test ci sandbox flatpak
3-
.DEFAULT_GOAL := ci
2+
.PHONY: setup build lint unit test ci sandbox flatpak
3+
.DEFAULT_GOAL := test
44

55
setup:
66
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
77
flatpak install --or-update --user --noninteractive flathub org.gnome.Sdk//45 org.flatpak.Builder org.freedesktop.Sdk.Extension.rust-stable//23.08 org.freedesktop.Sdk.Extension.vala//23.08 org.freedesktop.Sdk.Extension.llvm16//23.08
88
npm install
9-
flatpak-builder --delete-build-dirs --disable-updates --build-only --ccache --force-clean --stop-at=Workbench flatpak build-aux/re.sonny.Workbench.Devel.json
9+
make build
10+
11+
build:
12+
flatpak-builder --delete-build-dirs --disable-updates --build-only --ccache --force-clean flatpak build-aux/re.sonny.Workbench.Devel.json
13+
14+
cli:
15+
./troll/gjspack/bin/gjspack src/cli/main.js --appid=re.sonny.Workbench.cli --prefix=/re/sonny/Workbench --resource-root=src/ --no-executable flatpak/files/share/re.sonny.Workbench.cli/
16+
cp src/cli/bin.js flatpak/files/bin/workbench-cli
1017

1118
lint:
1219
# JavaScript
@@ -17,6 +24,11 @@ lint:
1724
./build-aux/fun black --check src/**/*.py
1825
# Blueprint
1926
./build-aux/fun blueprint-compiler format src/**/*.blp
27+
./build-aux/fun workbench-cli check blueprint src/**/*.blp
28+
# Vala
29+
# ./build-aux/fun workbench-cli check vala src/**/*.vala
30+
# CSS
31+
./build-aux/fun workbench-cli check css src/**/*.css
2032
# Flatpak manifests
2133
flatpak run --user --command=flatpak-builder-lint org.flatpak.Builder manifest --exceptions build-aux/re.sonny.Workbench.json
2234
flatpak run --user --command=flatpak-builder-lint org.flatpak.Builder manifest --exceptions build-aux/re.sonny.Workbench.Devel.json
@@ -35,9 +47,10 @@ unit:
3547
# flatpak run --env=G_DEBUG=fatal-criticals --command=appstream-util org.flatpak.Builder validate data/app.metainfo.xml
3648

3749
test: unit lint
50+
./build-aux/fun workbench-cli ci demos/demos/Welcome
3851

39-
ci: setup unit lint
40-
flatpak-builder --delete-build-dirs --disable-updates --build-only --ccache --force-clean flatpak build-aux/re.sonny.Workbench.Devel.json
52+
ci: setup test
53+
./build-aux/fun workbench-cli ci demos/demos/**
4154

4255
# Note that if you have Sdk extensions installed they will be used
4356
# make sure to test without the sdk extensions installed

build-aux/fun

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env sh
22

33
# fun stands for Flatpak Run
4-
flatpak-builder --run flatpak build-aux/re.sonny.Workbench.Devel.json "$@"
4+
flatpak-builder --run $(dirname $0)/../flatpak $(dirname $0)/re.sonny.Workbench.Devel.json "$@"
5+
# flatpak-builder --env=G_MESSAGES_DEBUG=workbench-cli --run flatpak build-aux/re.sonny.Workbench.Devel.json "$@"

build-aux/modules/biome.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
"type": "file",
88
"dest-filename": "biome",
99
"only-arches": ["aarch64"],
10-
"url": "https://github.com/biomejs/biome/releases/download/cli%2Fv1.4.0/biome-linux-arm64",
11-
"sha256": "9c944cd932476a5e6264f455ab3979a8ed870a72adffdebc3dbe9ef4e4240926"
10+
"url": "https://github.com/biomejs/biome/releases/download/cli%2Fv1.4.1/biome-linux-arm64",
11+
"sha256": "8f2712e303877594a9401ce392724f8b8c94d533b6f5902d9cbdd149e4fbd794"
1212
},
1313
{
1414
"type": "file",
1515
"dest-filename": "biome",
1616
"only-arches": ["x86_64"],
17-
"url": "https://github.com/biomejs/biome/releases/download/cli%2Fv1.4.0/biome-linux-x64",
18-
"sha256": "9d14e2a3ebf5350813d7d2b14b8b0b92d3e9cfa384bfbdc6a314b46cf3c8cc6c"
17+
"url": "https://github.com/biomejs/biome/releases/download/cli%2Fv1.4.1/biome-linux-x64",
18+
"sha256": "2995159aebcb7ddd116b098a1a0a459d1a8681aaa878623fb5390cc0dd0e414a"
1919
}
2020
]
2121
}

data/app.metainfo.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
<li>Add WebP image format support</li>
6060
<li>Use Biome instead of prettier for JavaScript formatter</li>
6161
<li>Use GTKCssLanguageServer instead of prettier for CSS formatter</li>
62-
<li>Update Biome to 1.4.0</li>
62+
<li>Update Biome to 1.4.1</li>
6363
<li>Update gst-plugin-gtk4 to 0.11.2</li>
6464
<li>Update libshumate 1.1.2</li>
6565
<li>Library: Add "Context Menu" entry</li>

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@
2424
"prepare": "husky install"
2525
},
2626
"lint-staged": {
27-
"*.{css,json,md,yaml,yml}": "prettier --write",
27+
"*.{json,md,yaml,yml}": "prettier --write",
2828
"*.{js,cjs,mjs}": "eslint --fix",
29+
"*.css": "./build-aux/fun workbench-cli format",
2930
"*.py": "./build-aux/fun black",
3031
"*.rs": "./build-aux/fun rustfmt --edition 2021",
31-
"*.blp": "./build-aux/fun blueprint-compiler format --fix"
32+
"*.blp": "./build-aux/fun workbench-cli format",
33+
"*.vala": "./build-aux/fun workbench-cli format vala"
3234
}
3335
}

src/Previewer/crasher.vala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
public void main (string[] args) {
22
Adw.init ();
33

4-
var builder = new Gtk.Builder();
4+
var builder = new Gtk.Builder ();
55
var output = new Gtk.Window ();
66

77
try {
8-
builder.add_from_string(args[1], -1);
9-
var object = builder.get_object(args[2]) as Gtk.Widget;
10-
output.set_child(object);
8+
builder.add_from_string (args[1], -1);
9+
var object = builder.get_object (args[2]) as Gtk.Widget;
10+
output.set_child (object);
1111
} catch (Error e) {
12-
GLib.error(e.message);
12+
GLib.error (e.message);
1313
}
1414
}

0 commit comments

Comments
 (0)