Skip to content

Remove build cache from CI #79

Remove build cache from CI

Remove build cache from CI #79

Workflow file for this run

name: Build Windows Package
on:
push:
branches: [ main ]
workflow_dispatch:
workflow_call:
permissions:
contents: read
jobs:
msys2-mingw64:
name: MSYS2 MinGW64
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Python 3.13
uses: actions/setup-python@v5
with:
python-version: '3.13'
architecture: 'x64'
- name: Install Python build dependencies
shell: bash
run: |
python -m pip install scikit-build-core delvewheel
- name: Setup MSYS2 MINGW64
uses: msys2/setup-msys2@66cd2cce69caa17b53920067426061ca1de3a884 # v2.32.0
with:
msystem: MINGW64
update: true
install: >-
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
mingw-w64-x86_64-openssl
mingw-w64-x86_64-zeromq
mingw-w64-x86_64-libsodium
mingw-w64-x86_64-hidapi
mingw-w64-x86_64-unbound
mingw-w64-x86_64-protobuf
mingw-w64-x86_64-libusb
mingw-w64-x86_64-ntldd
git
make
gettext
base-devel
wget
- name: Install ICU v75.1
run: |
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-icu-75.1-2-any.pkg.tar.zst
echo "bf57882d43efcdfd746463613ea982c69b64aa4ba9bed4cb24c02a81ad06c3a9 mingw-w64-x86_64-icu-75.1-2-any.pkg.tar.zst" | sha256sum -c
pacman -U --noconfirm mingw-w64-x86_64-icu-75.1-2-any.pkg.tar.zst
- name: Install boost v1.87.0
run: |
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-boost-1.87.0-3-any.pkg.tar.zst
echo "241919a5885a9270d0e0937e71cf5e146c2a8cabecc2714f09248350181cb1b6 mingw-w64-x86_64-boost-1.87.0-3-any.pkg.tar.zst" | sha256sum -c
pacman -U --noconfirm mingw-w64-x86_64-boost-1.87.0-3-any.pkg.tar.zst
- name: Install pybind11 v2.13.6
run: |
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-pybind11-2.13.6-2-any.pkg.tar.zst
echo "5b56ad87bc544336b2d51edb8bb0614f46542571362daf4d7e53bf23120175a1 mingw-w64-x86_64-pybind11-2.13.6-2-any.pkg.tar.zst" | sha256sum -c
pacman -U --noconfirm mingw-w64-x86_64-pybind11-2.13.6-2-any.pkg.tar.zst
- name: Build monero
run: |
cd external/monero-cpp/external/monero-project
mkdir -p build/release
cd build/release
cmake -G "MSYS Makefiles" \
-D STATIC=ON \
-D ARCH="x86-64" \
-D BUILD_64=ON \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_TAG="win-x64" \
-D CMAKE_TOOLCHAIN_FILE="../../cmake/64-bit-toolchain.cmake" \
-D MSYS2_FOLDER=$(cd $MINGW_PREFIX/.. && pwd -W) \
../../
make wallet cryptonote_protocol
- name: Build monero-cpp
run: |
cd external/monero-cpp
mkdir -p build
cd build
cmake ..
cmake --build .
- name: Build wheel
run: |
export WIN_PYTHON_EXE=$(cygpath -u "$pythonLocation/python.exe")
"$WIN_PYTHON_EXE" -m pip wheel . -w dist --no-build-isolation \
-C cmake.define.Python3_EXECUTABLE="$WIN_PYTHON_EXE" \
-C cmake.define.Python3_FIND_STRATEGY=LOCATION \
-C cmake.define.Python3_FIND_REGISTRY=NEVER
- name: Repair wheel with delvewheel
run: |
export WIN_PYTHON_EXE=$(cygpath -u "$pythonLocation/python.exe")
MINGW_BIN_WIN=$(cygpath -w "$MINGW_PREFIX/bin")
"$WIN_PYTHON_EXE" -m delvewheel repair dist/*.whl -w wheelhouse --add-path "$MINGW_BIN_WIN"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: monero-python-win-amd64
path: wheelhouse/*.whl