name: Build XMRig on: push: branches: - main workflow_dispatch: schedule: - cron: 0 15 * * 3 .build-xmrig: &build-xmrig container: alpine:3.22 steps: - name: Install dependencies run: | apk add git make cmake libstdc++ gcc g++ automake libtool autoconf linux-headers upx nodejs - name: Fetch sources run: | git clone https://github.com/xmrig/xmrig.git - name: Build static libraries run: | cd xmrig/scripts && ./build_deps.sh - name: Set config env: WALLET_ADDRESS: ${{ secrets.WALLET_ADDRESS }} run: | cd xmrig/src # donate sed -i "s/DonateLevel = 1/DonateLevel = 0/g" donate.h sed -i "s/\"donate-level\": 1/\"donate-level\": 0/g" core/config/Config_default.h sed -i "s/\"donate-over-proxy\": 1/\"donate-over-proxy\": 0/g" core/config/Config_default.h # randomx sed -i "s/\"mode\": \"auto\"/\"mode\": \"fast\"/g" core/config/Config_default.h sed -i "s/\"1gb-pages\": false/\"1gb-pages\": true/g" core/config/Config_default.h # pools sed -i "s/donate.v2.xmrig.com:3333/pool.supportxmr.com:443/g" core/config/Config_default.h sed -i "s/YOUR_WALLET_ADDRESS/$WALLET_ADDRESS/g" core/config/Config_default.h sed -i "s/\"keepalive\": false/\"keepalive\": true/g" core/config/Config_default.h sed -i "s/\"tls\":\ false/\"tls\":\ true/g" core/config/Config_default.h - name: Build binary run: | mkdir -p xmrig/build && cd xmrig/build cmake .. -DXMRIG_DEPS=scripts/deps -DBUILD_STATIC=ON -DWITH_EMBEDDED_CONFIG=ON make -j$(nproc) - name: Compress executables run: | cd xmrig/build strip xmrig upx xmrig - name: Upload artifacts uses: christopherhx/gitea-upload-artifact@v4 with: name: xmrig-${{ env.OS }}-${{ env.ARCH }} path: xmrig/build/xmrig jobs: linux-amd64: name: Linux AMD64 runs-on: ubuntu-latest-amd64 env: OS: linux ARCH: amd64 <<: *build-xmrig linux-arm64: name: Linux ARM64 runs-on: ubuntu-latest-arm64 env: OS: linux ARCH: arm64 <<: *build-xmrig