merge linux CI runner
This commit is contained in:
29
.github/workflows/dart.yml
vendored
29
.github/workflows/dart.yml
vendored
@@ -8,15 +8,31 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-goldens:
|
update-goldens:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- name: Setup LLVM
|
||||||
|
uses: KyleMayes/install-llvm-action@v1
|
||||||
|
with:
|
||||||
|
version: "16"
|
||||||
|
- name: Add LLVM to PATH
|
||||||
|
run: |
|
||||||
|
echo "${{ github.workspace }}/llvm/bin" >> $GITHUB_PATH
|
||||||
|
echo "LD_LIBRARY_PATH=${{ github.workspace }}/llvm/lib/x86_64-unknown-linux-gnu/" >> $GITHUB_ENV
|
||||||
|
- name: Verify installation
|
||||||
|
run: clang --version
|
||||||
|
- name: Install Vulkan SDK and dependencies
|
||||||
|
run: |
|
||||||
|
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
|
||||||
|
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y vulkan-sdk
|
||||||
- name: Set up Flutter
|
- name: Set up Flutter
|
||||||
uses: subosito/flutter-action@v2
|
uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
channel: master
|
channel: master
|
||||||
architecture: X64
|
architecture: X64
|
||||||
- run: cd thermion_dart && dart pub get && dart --enable-experiment=native-assets test
|
- run: cd thermion_dart && dart pub get && dart --enable-experiment=native-assets test test/asset_tests.dart
|
||||||
- name: Zip goldens
|
- name: Zip goldens
|
||||||
run: zip -r goldens.zip ./thermion_dart/test/output
|
run: zip -r goldens.zip ./thermion_dart/test/output
|
||||||
- name: Upload golden images
|
- name: Upload golden images
|
||||||
@@ -24,6 +40,15 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: golden-images-${{ github.sha }}
|
name: golden-images-${{ github.sha }}
|
||||||
path: goldens.zip
|
path: goldens.zip
|
||||||
|
- name: Upload logs
|
||||||
|
if: failure() || steps.build.outcome == 'failure'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: build-logs
|
||||||
|
path: |
|
||||||
|
${{ github.workspace }}/thermion_dart/.dart_tool/thermion_dart/log/build.log
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
flutter_examples:
|
flutter_examples:
|
||||||
name: flutter_examples
|
name: flutter_examples
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
|||||||
@@ -76,11 +76,9 @@ void main(List<String> args) async {
|
|||||||
"filament",
|
"filament",
|
||||||
"backend",
|
"backend",
|
||||||
"filameshio",
|
"filameshio",
|
||||||
"viewer",
|
|
||||||
if (targetOS != OS.iOS) "filamat",
|
if (targetOS != OS.iOS) "filamat",
|
||||||
"meshoptimizer",
|
if (targetOS == OS.linux) "shaders",
|
||||||
"mikktspace",
|
//"geometry",
|
||||||
"geometry",
|
|
||||||
"utils",
|
"utils",
|
||||||
"filabridge",
|
"filabridge",
|
||||||
"gltfio_core",
|
"gltfio_core",
|
||||||
@@ -97,23 +95,21 @@ void main(List<String> args) async {
|
|||||||
"stb",
|
"stb",
|
||||||
"uberzlib",
|
"uberzlib",
|
||||||
"smol-v",
|
"smol-v",
|
||||||
|
"basis_transcoder",
|
||||||
"uberarchive",
|
"uberarchive",
|
||||||
"zstd",
|
"zstd",
|
||||||
"basis_transcoder",
|
"mikktspace",
|
||||||
|
"geometry",
|
||||||
if (targetOS == OS.macOS) ...["matdbg", "fgviewer"]
|
if (targetOS == OS.macOS) ...["matdbg", "fgviewer"]
|
||||||
];
|
];
|
||||||
|
|
||||||
if (platform == "windows") {
|
if (targetOS == OS.windows) {
|
||||||
// we just need the libDir and don't need to explicitly link the actual libs
|
// we just need the libDir and don't need to explicitly link the actual libs
|
||||||
// (these are linked via ThermionWin32.h)
|
// (these are linked via ThermionWin32.h)
|
||||||
libDir =
|
libDir =
|
||||||
Directory(libDir).uri.toFilePath(windows: targetOS == OS.windows);
|
Directory(libDir).uri.toFilePath(windows: targetOS == OS.windows);
|
||||||
} else {
|
|
||||||
libs.add("stdc++");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final flags = []; //"-fsanitize=address"];
|
|
||||||
|
|
||||||
final defines = <String, String?>{};
|
final defines = <String, String?>{};
|
||||||
logger.info("User defines : ${input.userDefines}");
|
logger.info("User defines : ${input.userDefines}");
|
||||||
if ((input.userDefines["tracing"] as String?)?.isNotEmpty == true) {
|
if ((input.userDefines["tracing"] as String?)?.isNotEmpty == true) {
|
||||||
@@ -121,7 +117,10 @@ void main(List<String> args) async {
|
|||||||
defines["ENABLE_TRACING"] = "1";
|
defines["ENABLE_TRACING"] = "1";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final flags = [ ]; //"-fsanitize=address"];
|
||||||
|
|
||||||
var frameworks = [];
|
var frameworks = [];
|
||||||
|
|
||||||
if (platform != "windows") {
|
if (platform != "windows") {
|
||||||
flags.addAll(['-std=c++17']);
|
flags.addAll(['-std=c++17']);
|
||||||
} else {
|
} else {
|
||||||
@@ -170,6 +169,8 @@ void main(List<String> args) async {
|
|||||||
libs.addAll(["bluegl", "bluevk"]);
|
libs.addAll(["bluegl", "bluevk"]);
|
||||||
} else if (platform == "android") {
|
} else if (platform == "android") {
|
||||||
libs.addAll(["GLESv3", "EGL", "bluevk", "dl", "android"]);
|
libs.addAll(["GLESv3", "EGL", "bluevk", "dl", "android"]);
|
||||||
|
} else if (targetOS == OS.linux) {
|
||||||
|
libs.addAll(["bluevk","bluegl"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
frameworks = frameworks.expand((f) => ["-framework", f]).toList();
|
frameworks = frameworks.expand((f) => ["-framework", f]).toList();
|
||||||
@@ -189,12 +190,18 @@ void main(List<String> args) async {
|
|||||||
: ['native/include', 'native/include/filament'],
|
: ['native/include', 'native/include/filament'],
|
||||||
defines: platform == "windows" ? {} : defines,
|
defines: platform == "windows" ? {} : defines,
|
||||||
flags: [
|
flags: [
|
||||||
if (targetOS == OS.macOS) ...['-mmacosx-version-min=13.0'],
|
if (targetOS == OS.macOS) '-mmacosx-version-min=13.0',
|
||||||
if (targetOS == OS.iOS) '-mios-version-min=13.0',
|
if (targetOS == OS.iOS) '-mios-version-min=13.0',
|
||||||
...flags,
|
...flags,
|
||||||
...frameworks,
|
...frameworks,
|
||||||
if (platform != "windows") ...[
|
if(targetOS == OS.linux)
|
||||||
...libs.map((lib) => "-l$lib"),
|
...[ "-stdlib=libc++", "-Wl,--whole-archive" ],
|
||||||
|
if (targetOS != OS.windows)...[
|
||||||
|
...libs.map((lib) => "-l$lib"),
|
||||||
|
if(targetOS == OS.linux)
|
||||||
|
"-Wl,--no-whole-archive",
|
||||||
|
if(targetOS != OS.linux)
|
||||||
|
"-lstdc++",
|
||||||
"-L$libDir"
|
"-L$libDir"
|
||||||
],
|
],
|
||||||
if (platform == "windows") ...[
|
if (platform == "windows") ...[
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
|
|
||||||
#include "Log.hpp"
|
#include "Log.hpp"
|
||||||
|
|
||||||
#define STB_IMAGE_IMPLEMENTATION
|
|
||||||
#include <filament/third_party/stb/stb_image.h>
|
#include <filament/third_party/stb/stb_image.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
Reference in New Issue
Block a user