Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

feat(gokai_sdk): finalize storage manager implementation #52

feat(gokai_sdk): finalize storage manager implementation

feat(gokai_sdk): finalize storage manager implementation #52

Workflow file for this run

name: Build SDK
on: [pull_request, push]
jobs:
linux:
strategy:
matrix:
target: [x64-generic]
engine: [cdbeda788a293fa29665dc3fa3d6e63bd221cb0d]
mode: [release, profile, debug]
buildtype: [release, debug]
runs-on: ubuntu-latest
container: archlinux:latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
- name: Fetch Engine
run: |
curl -L "https://github.com/ardera/flutter-ci/releases/download/engine%2F${{ matrix.engine }}/${{ matrix.target }}.tar.xz" -o flutter-engine.tar.xz
mkdir flutter-engine
tar -xf flutter-engine.tar.xz -C flutter-engine
pushd flutter-engine
cp libflutter_engine.so.${{ matrix.mode }} libflutter_engine.so
export target=$(echo ${{ matrix.target }} | cut -f1 -d '-')
if [[ -f gen_snapshot_linux_${target}_${{ matrix.mode }} ]]; then
cp gen_snapshot_linux_${target}_${{ matrix.mode }} gen_snapshot
else
cp gen_snapshot_linux_${target}_release gen_snapshot
fi
popd
rm flutter-engine.tar.xz
- name: Install dependencies
run: |
pacman -Syu --noconfirm
pacman -S --noconfirm base-devel meson pkg-config ninja wayland wayland-protocols \
wlroots libuv libxdg-basedir glib2 packagekit yaml-cpp udev glm cairo \
libglvnd vulkan-icd-loader vulkan-headers util-linux-libs jsoncpp libxkbcommon accountsservice \
libdrm libevdev upower git cmake
for name in fmt spdlog; do
git clone https://aur.archlinux.org/$name-git.git
chmod -R a+w $name-git
pushd $name-git
sudo -u nobody makepkg --noconfirm
pacman --noconfirm -U $name-git*.pkg.tar.zst
popd
done
git clone https://github.com/graeme-hill/crossguid crossguid
curl -L "https://raw.githubusercontent.com/graeme-hill/crossguid/1eb9bea38c320b2b588635cffceaaa2a8d434780/include/crossguid/guid.hpp" -o crossguid/include/crossguid/guid.hpp
pushd crossguid
cmake .
make
install -D -m644 libcrossguid.a /usr/lib/libcrossguid.a
install -D -m644 include/crossguid/guid.hpp /usr/include/crossguid/guid.hpp
install -D -m644 crossguid.pc /usr/lib/pkgconfig/crossguid.pc
popd
- name: Configure
run: meson setup packages/gokai_sdk builddir -Dprefix=/usr -Dflutter-engine=$(readlink -e flutter-engine) -Dbuildtype=${{ matrix.buildtype }}
- name: Build
run: ninja -C builddir
- name: Install
run: |
mkdir installdir
DESTDIR=$(readlink -e installdir) ninja -C builddir install
- name: Upload artifact
uses: actions/[email protected]
with:
name: ${{ matrix.engine }}-${{ matrix.target }}-${{ matrix.mode }}-${{ matrix.buildtype }}
path: installdir/*