Commit graph

754 commits

Author SHA1 Message Date
Simon Hausmann
84fd6dc08c Clean up Node.js port build system
- Instead of building index.js with esbuild and generating types with
  tsc, use tsc to build index.js and index.d.ts.
- Use ts-node instead of swc for typescript based tests, as that
  works with es modules.
- Remove "syntax_check" target from package.json as that's now
  implied with "compile".
- Sadly this requires one "as any" cast as tsc somehow fails to
  determine the right type info for node-fetch.

Unfortunately index.js can't be an ES module without breaking
compatiblity. It would imply that the Node.js port can't be used with
require() anymore. So even thought that would simplify things further,
it's not part of this PR.
2023-11-21 07:20:21 +01:00
Florian Blasius
450443d8f8
Florian/fix node nightly (#3937) 2023-11-15 19:03:43 +01:00
Simon Hausmann
a9d6eded16
Fix publishing of wasm demos in nightly 2023-11-14 13:16:04 +08:00
Florian Blasius
b7b0266454
added image-filter example typescript port (#3907)
* added image-filter example typescript port

* Update examples/imagefilter/node/main.ts

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

* Update examples/imagefilter/node/main.ts

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

* Update examples/imagefilter/node/package.json

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

* Update examples/imagefilter/node/package.json

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

* Update examples/imagefilter/node/tsconfig.json

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>

---------

Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>
2023-11-13 15:42:37 +01:00
Simon Hausmann
34d3309f00 Select macOS 11 as deployment target in central place
... for all workflos that run macOS jobs.

Latest GH images somehow seem to have "lost" the minimum deployment
target (either setting or maybe the sysroot), so set it explicitly.
That is a good idea for us to do anymore for a more deterministic
deployment.
2023-11-13 22:22:37 +08:00
Olivier Goffart
31ba24bbe2 VScode extension: include the software renderer in our binary
Make it possible to preview with the software renderer (using the
lsp-args settings)
2023-11-08 08:18:05 +01:00
Tobias Hunger
d82e3d4e5c slintpad: Force previewer to fluent-light style 2023-11-07 15:07:04 +01:00
Olivier Goffart
a499e04b92
Update ci.yaml: prospective warning fix about missing key 2023-11-03 15:13:36 +01:00
Olivier Goffart
589ab56643 Test android in the CI 2023-11-02 18:25:41 +01:00
Olivier Goffart
8c34bf6096 Crater: fix the path of some repo 2023-11-02 14:18:41 +01:00
Olivier Goffart
d828663c47 Crater: Update some URL
Disable outdated projects that never compiled
But keep the ones that don't compile and are updated in the hope that
they fix it
Also keep the ones that are failling because missing icon because there
was regressions in one of this project (#3823)
Add project from the github network that have stars and have non-trivial
use of slint
2023-11-01 11:31:09 +01:00
Simon Hausmann
2176523e4f Add support for nightly tagged releases on npm and smoke testing 2023-11-01 11:05:33 +01:00
Simon Hausmann
bac5c76fb2 Add workflow inputs to the npm publish step
Just dummy, so that they can also be used in a branch/PR.
2023-11-01 09:09:37 +01:00
Simon Hausmann
1441719f61
Fix cross-compilation of C++ interpreter API to 32-bit architecture (#3810)
cbindgen doesn't reliably tranfser the 64-bit/32-bit #ifdefs around ValueOpaque.
Instead, move Value onto the heap by using a Box.

Fixes #3653
2023-10-31 17:33:49 +01:00
Simon Hausmann
26c9e3ea96
Build tool binaries on current macOS 2023-10-31 16:11:54 +01:00
Simon Hausmann
55176d1dac
Build aarch64 Darwin lsp also on latest 2023-10-31 15:41:41 +01:00
Simon Hausmann
c00eb792da Build macOS lsp binaries on latest macOS 2023-10-31 15:21:50 +01:00
Simon Hausmann
8a52de6b1e Initial attempt at GH action for publishing npm package 2023-10-31 15:19:04 +01:00
Simon Hausmann
28e0c19a1b Prospective fix for windows vscode lsp binary
Build as MSVC binary, as Skia doesn't compile with mingw toolchain (Somehow gcc flags end up in the environment).
2023-10-31 15:06:36 +01:00
Simon Hausmann
99d633c1b4 Prospective fix for failing nightly CI job
env cannot be used within a with block (https://github.com/actions/runner/issues/1189#issuecomment-1741672276)
2023-10-31 14:37:52 +01:00
Simon Hausmann
79b70782b4 Enable the winit backend and skia renderer in the tool and lsp binaries
This makes it possible to fall back to software rendering.

This change also removes the use of the Qt backend on Windows and macOS, since
the native style on those platforms
resolves to fluent/cupertino and doesn't require Qt anymore.
2023-10-31 14:28:05 +01:00
Simon Hausmann
2cf8a5b0eb Build the node package only once in debug
In the ci and on workstations the steps are the same:

1. Install (without building, which would build release)
2. Build debug
3. Run tests

Previously only on Windows the tests were run in debug, because
the "npm install" step in the nodejs test driver would overwrite a
previously created debug build. On windows they are separate DLLs, and
thus co-exist. With this patch we always build debug.
2023-10-26 14:23:23 +02:00
Simon Hausmann
1919f27c01 Run node tests in debug to catch extra assertions 2023-10-25 16:16:27 +02:00
Florian Blasius
bf77b064ab
Replace neon node port (#3744)
* Update api/node/README.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-24 15:07:59 +02:00
Simon Hausmann
403bb6c716
napi: Catch typescript errors in the CI and in debug builds (#3703)
We use esbuild to transform index.ts into index.js, but we also need to
perform a type check. esbuild doesn't do that, this is left to the
typescript compiler. So let's run it with -noEmit as recommended by the
esbuild folks, in debug builds as well as in the CI (which doesn't do
debug builds).
2023-10-19 18:05:32 +02:00
Tobias Hunger
b12575a4c4 janitor: Go over our spell checking setup
* Extend the cspell word list
* Remove those extensions from individual source files
* white-list licenses and such as we should not meddle with those
* Fix spelling
2023-10-16 09:01:51 +02:00
Simon Hausmann
7c73aee21f
Run embedded build ci job nightly 2023-10-13 21:38:51 +02:00
Simon Hausmann
7c1f90d2e9
Fix embedded ci build
Don't build uefi demo
2023-10-13 16:48:21 +02:00
Simon Hausmann
17e4ad6631 Prospective fix for cross builds
Don't build linuxkms yet, as the dependencies are not installed yet.
2023-10-13 15:35:20 +02:00
Simon Hausmann
31ddd7a58d Exclude the ffmpeg example from the embedded demos
The build breaks because the containers need additional dependencies, but
the example isn't really suitable for embedded anyway.
2023-10-13 13:39:08 +02:00
Simon Hausmann
39ebfa8b78 ci: add slint-napi to the excluded packages for the cross build 2023-10-13 09:22:27 +02:00
Simon Hausmann
7d7b731075 Disable the C++ interpreter in the 32-bit yocto build
cc #3653
2023-10-11 17:45:25 +02:00
Simon Hausmann
2c3286c520 ci: Fix 32-bit armv7 yocto skia build 2023-10-11 15:50:18 +02:00
Simon Hausmann
b024a601a3 Add a 32-bit yocto build 2023-10-11 14:21:53 +02:00
Simon Hausmann
56d0f2f277 Fix yaml syntax 2023-10-11 14:19:52 +02:00
Simon Hausmann
21cf1d0216 Prepare to matrix'ify the yocto sdk ci build 2023-10-11 14:17:49 +02:00
Florian Blasius
2324b35d12
napi test driver setup (#3635)
* Export interpreter stuff on private_api namespace

* Update api/napi/src/interpreter/value.rs

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update tests/driver/napi/build.rs

Co-authored-by: Simon Hausmann <simon.hausmann@slint-ui.com>

* Update tests/driver/napi/Cargo.toml

Co-authored-by: Simon Hausmann <simon.hausmann@slint-ui.com>


* Avoid unwanted prompt on Windows when running npm run build twice

Don't generate "napi.js" as then Windows will try to open it when running just "napi",
if nodejs registered .js as extension.

* Remove windows path workaround

It doesn't look like that it is needed.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Simon Hausmann <simon.hausmann@slint-ui.com>
Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>
2023-10-11 12:48:27 +02:00
Simon Hausmann
26e2a3d422 Enable the linuxkms backend in the "Yocto CI" 2023-10-10 18:16:27 +02:00
Simon Hausmann
5094d56ca7 Run the Yocto build of master once a day 2023-10-10 17:25:40 +02:00
Simon Hausmann
e628277248 Re-enable the Skia build against our Yocto SDK
Commit f5c3908b7e fixed it.
2023-10-10 17:24:10 +02:00
Florian Blasius
5d5934d932 Removed no longer needed build napi package setp 2023-10-09 16:07:07 +02:00
Simon Hausmann
5103c07a9c Yocto CI build: Enable examples
After commit e44f70c9df this should work
and disable the one example that needs GLES3 while
the currently built SDK doesn't have the headers.
2023-10-02 18:16:17 +02:00
Simon Hausmann
d6f2942800 Add a build for Slint against a Yocto SDK
This is manually triggered for now
2023-10-02 17:35:46 +02:00
Olivier Goffart
ade1810151 ci: don't use deprecated github feature
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-10-02 12:41:12 +02:00
Olivier Goffart
0b72a4fb1d nightly job: allow to publish the released vscode extension from a branch 2023-10-02 10:57:13 +02:00
Olivier Goffart
1286d466e7 CI: merge the website copy job from the website repo into the release action
This tries to extract the version automatically, and put the files directly in the
right location

Also fill the tag and name with the version for the github release

Part of #2995
2023-10-02 10:57:13 +02:00
Olivier Goffart
ea19c1e962 Remove the preview from the rust docs
rustdoc removes the `no-preview` tag, and we anyway do not have a
slint file to preview in the docs anymore
2023-09-29 10:40:45 +02:00
Simon Hausmann
5cdb279c1f Remove workaround for issue with trailing slash in VCINSTALLDIR when building Skia on Windows 2023-09-13 11:44:49 +02:00
Simon Hausmann
461dec0052 Attempt to work around trailing slash in VCINSTALLDIR 2023-09-13 10:11:39 +02:00
Simon Hausmann
779e216b2a Update to skia-safe 0.66.1 (skia 116/117)
This new version compiles with LLVM 16 that's now in the GH action
runner windows images.

cc #3365
2023-09-13 10:11:39 +02:00