on: push: tags: - 'v*' name: Create release and build artifacts jobs: build_win: name: Build Windows artifacts runs-on: windows-2019 steps: - name: Checkout code uses: actions/checkout@master - name: Checkout deps run: git clone https://github.com/xmrig/xmrig-deps.git - name: Build project on Windows run: | cmake . -G "MinGW Makefiles" -DXMRIG_DEPS=xmrig-deps\gcc\x64 make -j2 copy src\config.json . copy bin\WinRing0\WinRing0x64.sys . 7z a -tzip -mx windows_build.zip xmrig.exe config.json WinRing0x64.sys - name: Upload Windows build artifacts uses: actions/upload-artifact@v4 with: name: windows_build path: windows_build.zip build_lin: name: Build Ubuntu artifacts runs-on: ubuntu-22.04 steps: - name: Prepare Ubuntu tools run: | sudo apt update sudo apt install -y git build-essential cmake libuv1-dev libssl-dev libhwloc-dev - name: Checkout code uses: actions/checkout@master - name: Build project on Ubuntu run: | cmake . make -j$(nproc) cp src/config.json . tar cfz ubuntu_build.tar.gz xmrig config.json - name: Upload Ubuntu build artifacts uses: actions/upload-artifact@v4 with: name: ubuntu_build path: ubuntu_build.tar.gz build_macos: name: Build MacOS artifacts runs-on: macos-latest steps: - name: Prepare MacOS tools run: | brew install cmake libuv openssl hwloc - name: Checkout code uses: actions/checkout@master - name: Build hwloc on MacOS run: | curl -O https://download.open-mpi.org/release/hwloc/v2.1/hwloc-2.1.0.tar.bz2 tar xjf hwloc-2.1.0.tar.bz2 cd hwloc-2.1.0 ./configure --disable-shared --enable-static --disable-io --disable-libxml2 make -j$(sysctl -n hw.logicalcpu) cd .. - name: Build project on MacOS run: | cmake . -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DHWLOC_INCLUDE_DIR=hwloc-2.1.0/include -DHWLOC_LIBRARY=hwloc-2.1.0/hwloc/.libs/libhwloc.a make -j$(sysctl -n hw.logicalcpu) cp src/config.json . tar cfz macos_build.tar.gz xmrig config.json - name: Upload MacOS build artifacts uses: actions/upload-artifact@v4 with: name: macos_build path: macos_build.tar.gz build_macos_intel: name: Build MacOS (Intel) artifacts runs-on: macos-13 steps: - name: Prepare MacOS tools run: | brew install cmake libuv openssl hwloc - name: Checkout code uses: actions/checkout@master - name: Build hwloc on MacOS run: | curl -O https://download.open-mpi.org/release/hwloc/v2.1/hwloc-2.1.0.tar.bz2 tar xjf hwloc-2.1.0.tar.bz2 cd hwloc-2.1.0 ./configure --disable-shared --enable-static --disable-io --disable-libxml2 make -j$(sysctl -n hw.logicalcpu) cd .. - name: Build project on MacOS run: | cmake . -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DHWLOC_INCLUDE_DIR=hwloc-2.1.0/include -DHWLOC_LIBRARY=hwloc-2.1.0/hwloc/.libs/libhwloc.a make -j$(sysctl -n hw.logicalcpu) cp src/config.json . tar cfz macos_build_intel.tar.gz xmrig config.json - name: Upload MacOS build artifacts uses: actions/upload-artifact@v4 with: name: macos_build_intel path: macos_build_intel.tar.gz build_lin_ub12: name: Build Ubuntu 12.04 artifacts runs-on: ubuntu-latest steps: - name: Run build inside docker run: | mkdir /tmp/docker (cat <