mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-17 07:11:29 +02:00
70 lines
3.4 KiB
YAML
70 lines
3.4 KiB
YAML
name: ci/gh-actions/build
|
|
|
|
on: [push, pull_request, workflow_dispatch]
|
|
|
|
# NOTE (wownero-rebase branch): the Arch + macOS jobs from upstream Feather's build.yml are
|
|
# temporarily disabled to get a fast, cheap iteration loop while bringing up the build against the
|
|
# wownero monero submodule (gui branch). Restore the full matrix from upstream once Ubuntu is green.
|
|
|
|
jobs:
|
|
build-ubuntu-without-scanner:
|
|
name: "Ubuntu 24.04 (no scanner)"
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ubuntu:24.04
|
|
steps:
|
|
- name: update apt
|
|
run: apt update
|
|
- name: install dependencies
|
|
run: apt -y install curl bzip2 git cmake build-essential ccache libssl-dev libunbound-dev libboost-all-dev libzmq3-dev
|
|
libqrencode-dev qt6-base-dev qt6-svg-dev qt6-websockets-dev qt6-multimedia-dev
|
|
qt6-wayland-dev libzip-dev libsodium-dev libgcrypt20-dev libx11-xcb-dev
|
|
protobuf-compiler libprotobuf-dev libhidapi-dev libzxing-dev libusb-dev
|
|
libusb-1.0-0-dev
|
|
- name: configure git
|
|
run: git config --global --add safe.directory '*'
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: fetch wownerod to embed (single-file build)
|
|
run: |
|
|
mkdir -p /tmp/wownerod-embed
|
|
curl -L -o /tmp/wownero.tar.bz2 \
|
|
https://github.com/wownero/wownero-codeberg-mirror/releases/download/v0.11.4.0/wownero-x86_64-linux-gnu-v0.11.4.0.tar.bz2
|
|
tar xjf /tmp/wownero.tar.bz2 -C /tmp
|
|
find /tmp -name wownerod -type f -exec cp {} /tmp/wownerod-embed/ \;
|
|
chmod +x /tmp/wownerod-embed/wownerod
|
|
ls -la /tmp/wownerod-embed
|
|
- name: build
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake -DWITH_SCANNER=OFF -DWOWNEROD_DIR=/tmp/wownerod-embed ..
|
|
cmake --build . -j $(nproc)
|
|
- name: package AppImage
|
|
run: |
|
|
mkdir -p AppDir/usr/bin AppDir/usr/share/applications AppDir/usr/share/icons/hicolor/256x256/apps
|
|
cp build/bin/feather AppDir/usr/bin/wowlet
|
|
chmod +x AppDir/usr/bin/wowlet
|
|
cp src/assets/wowlet.desktop AppDir/usr/share/applications/wowlet.desktop
|
|
cp src/assets/images/appicons/256x256.png AppDir/usr/share/icons/hicolor/256x256/apps/wowlet.png
|
|
curl -sL -o linuxdeploy https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
|
curl -sL -o linuxdeploy-plugin-qt https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
|
chmod +x linuxdeploy linuxdeploy-plugin-qt
|
|
export APPIMAGE_EXTRACT_AND_RUN=1
|
|
export QMAKE="$(command -v qmake6 || echo /usr/bin/qmake6)"
|
|
export EXTRA_QT_PLUGINS="svg;multimedia"
|
|
export PATH="$PWD:$PATH"
|
|
./linuxdeploy --appdir AppDir --plugin qt \
|
|
-d AppDir/usr/share/applications/wowlet.desktop \
|
|
-i AppDir/usr/share/icons/hicolor/256x256/apps/wowlet.png \
|
|
--output appimage
|
|
mv *.AppImage wowlet-x86_64.AppImage 2>/dev/null || true
|
|
ls -la wowlet-x86_64.AppImage
|
|
- name: upload wowlet AppImage
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: wowlet-x86_64-linux-AppImage
|
|
path: wowlet-x86_64.AppImage
|
|
if-no-files-found: error
|