Switch to static screenshot #37
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: MinGW Windows Nightly Build | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
mingw: | |
runs-on: ubuntu-latest | |
container: | |
image: registry.fedoraproject.org/fedora:40 | |
options: --privileged | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download dependencies 📥 | |
run: | | |
dnf install -y "dnf-command(config-manager)" curl git patch | |
dnf install -y gcc-c++ cmake meson | |
dnf install -y mingw64-filesystem mingw64-gcc-c++ | |
dnf install -y mingw64-winpthreads-static | |
dnf install -y mingw64-gtkmm30 mingw64-gtksourceviewmm3 mingw64-jsoncpp mingw64-zlib mingw64-fontconfig mingw64-librsvg2 | |
dnf install -y mingw64-vulkan-headers mingw64-vulkan-loader mingw64-vulkan-tools | |
dnf install -y adwaita-icon-theme gtk-update-icon-cache | |
- name: Fetch and build llama.cpp | |
run: | | |
git clone https://github.com/ggerganov/llama.cpp.git | |
pushd llama.cpp/ | |
git reset --hard 88540445 | |
patch -p1 < ../llama.patch | |
cmake -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw64.cmake -DBUILD_SHARED_LIBS=ON . | |
make llama && make common | |
popd | |
- name: Configure 🔧 | |
run: meson --prefix=/ --cross-file=/usr/share/mingw/toolchain-mingw64.meson --default-library shared bin-x86_64-w64-mingw32 | |
- name: Compile 🎲 | |
run: ninja -C bin-x86_64-w64-mingw32 | |
- name: Build Windows-compatible directory 📁 | |
run: | | |
mkdir dist | |
DESTDIR="$PWD/dist/" ninja -C bin-x86_64-w64-mingw32 install | |
# we'll ship the whole bin/ folder for now | |
cp -r /usr/x86_64-w64-mingw32/sys-root/mingw/bin/* dist/bin/ | |
mkdir dist/bin/share | |
mkdir dist/bin/data | |
# copy share dir from mingw root to release | |
cp -r /usr/x86_64-w64-mingw32/sys-root/mingw/share/* dist/bin/share/ | |
# add gtk-pixbuf libs | |
mkdir dist/bin/lib/ | |
cp -r /usr/x86_64-w64-mingw32/sys-root/mingw/lib/gdk-pixbuf-2.0 dist/bin/lib/ | |
# I'd advise against patching auto-generated files, however to run gtk-pixbuf-query-loaders.exe we'd need wine | |
sed 's|^"\.\./lib/|"./lib/|' -i dist/bin/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache | |
# add Adwaita icons | |
cp -r /usr/share/icons/Adwaita/ dist/bin/data/icons/ | |
cp LICENSE dist/ | |
# copy llama dll | |
cp llama.cpp/bin/*.dll dist/bin/ | |
mv dist/bin/ dist/autopen/ | |
pushd dist/ | |
zip -9r autopen_mingw.zip autopen/ LICENSE | |
popd | |
- name: Upload nightly Windows build 📤 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Autopen - Windows x86_64 nightly build | |
path: dist/autopen_mingw.zip | |