mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-02 14:03:06 +00:00
105 lines
2.5 KiB
YAML
105 lines
2.5 KiB
YAML
name: ci / build-windows
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
branch:
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
|
|
env:
|
|
MSYSTEM: MINGW64
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup MSYS2
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
update: true
|
|
install: >-
|
|
git
|
|
base-devel
|
|
mingw-w64-x86_64-toolchain
|
|
make
|
|
cmake
|
|
upx
|
|
mingw-w64-x86_64-rust
|
|
mingw-w64-x86_64-postgresql
|
|
mingw-w64-x86_64-gcc
|
|
mingw-w64-x86_64-gcc-libs
|
|
mingw-w64-x86_64-libwinpthread-git
|
|
mingw-w64-x86_64-zlib
|
|
mingw-w64-x86_64-openssl
|
|
mingw-w64-x86_64-python
|
|
mingw-w64-x86_64-cmake
|
|
mingw-w64-x86_64-llvm
|
|
mingw-w64-x86_64-clang
|
|
|
|
- name: Add UPX to PATH
|
|
run: |
|
|
echo "/usr/bin:$PATH" >> $GITHUB_PATH
|
|
echo "/mingw64/bin:$PATH" >> $GITHUB_PATH
|
|
echo "/usr/lib:$PATH" >> $GITHUB_PATH
|
|
echo "/mingw64/lib:$PATH" >> $GITHUB_PATH
|
|
|
|
- name: Verify dependencies
|
|
run: |
|
|
which upx gcc g++ make cmake cargo rustc python
|
|
|
|
- name: Updating submodules
|
|
run: git submodule update --init --recursive
|
|
|
|
- name: Creating tmp directory
|
|
run: mkdir -p tmp
|
|
|
|
- name: Building Nim
|
|
run: |
|
|
cd vendor/nimbus-build-system/vendor/Nim
|
|
./build_all.bat
|
|
cd ../../../..
|
|
|
|
- name: Building miniupnpc
|
|
run: |
|
|
cd vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc
|
|
make -f Makefile.mingw CC=gcc CXX=g++ libminiupnpc.a V=1
|
|
cd ../../../../..
|
|
|
|
- name: Building libnatpmp
|
|
run: |
|
|
cd ./vendor/nim-nat-traversal/vendor/libnatpmp-upstream
|
|
make CC="gcc -fPIC -D_WIN32_WINNT=0x0600 -DNATPMP_STATICLIB" libnatpmp.a V=1
|
|
cd ../../../../
|
|
|
|
- name: Building wakunode2.exe
|
|
run: |
|
|
make wakunode2 LOG_LEVEL=DEBUG V=3 -j8
|
|
|
|
- name: Building libwaku.dll
|
|
run: |
|
|
make libwaku STATIC=0 LOG_LEVEL=DEBUG V=1 -j
|
|
|
|
- name: Check Executable
|
|
run: |
|
|
if [ -f "./build/wakunode2.exe" ]; then
|
|
echo "wakunode2.exe build successful"
|
|
else
|
|
echo "Build failed: wakunode2.exe not found"
|
|
exit 1
|
|
fi
|
|
if [ -f "./build/libwaku.dll" ]; then
|
|
echo "libwaku.dll build successful"
|
|
else
|
|
echo "Build failed: libwaku.dll not found"
|
|
exit 1
|
|
fi
|