diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e89f95a8d..909fbeb66 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -186,9 +186,9 @@ jobs: fail-fast: false matrix: include: - # Most popular Ubuntu LTS version - - name: Ubuntu 24.04 - container: ubuntu:24.04 + # Oldest supported Ubuntu LTS version + - name: Ubuntu 22.04 + container: ubuntu:22.04 container: image: ${{ matrix.container }} env: @@ -234,9 +234,9 @@ jobs: strategy: matrix: include: - # Oldest supported Ubuntu LTS version - - name: Ubuntu 22.04 - container: ubuntu:22.04 + # Most popular Ubuntu LTS version + - name: Ubuntu 24.04 + container: ubuntu:24.04 container: image: ${{ matrix.container }} env: @@ -256,7 +256,7 @@ jobs: - name: install pip run: apt install -y python3-pip - name: install Python dependencies - run: pip install requests psutil monotonic zmq deepdiff + run: python3 -m pip install --break-system-packages requests psutil monotonic zmq deepdiff - name: configure git run: git config --global --add safe.directory '*' - uses: actions/checkout@v5 @@ -272,15 +272,26 @@ jobs: - name: create dummy disk drives for testing run: tests/create_test_disks.sh >> $GITHUB_ENV - uses: ./.github/actions/set-make-job-count - - name: tests + - name: build env: - CTEST_OUTPUT_ON_FAILURE: ON - DNS_PUBLIC: tcp://9.9.9.9 CMAKE_BUILD_PARALLEL_LEVEL: ${{env.MAKE_JOB_COUNT}} run: | ${{env.CCACHE_SETTINGS}} ${{env.BUILD_DEFAULT}} - cmake --build build --target test + - name: run tests except core_tests + env: + DNS_PUBLIC: tcp://9.9.9.9 + run: ctest --test-dir build --output-on-failure -E core_tests + - name: use reduced slow-hash iterations for core_tests + if: github.event_name == 'pull_request' + env: + CFLAGS: -DMONERO_CRYPTO_SLOW_HASH_ITER=20 + CMAKE_BUILD_PARALLEL_LEVEL: ${{env.MAKE_JOB_COUNT}} + run: | + cmake -S . -B build --fresh -D ARCH="default" -D BUILD_TESTS=ON + cmake --build build --target core_tests + - name: run core_tests + run: ctest --test-dir build --output-on-failure -R core_tests - name: save ccache uses: actions/cache/save@v5 if: github.event_name != 'pull_request' && steps.ccache-restore.outputs.cache-hit != 'true' diff --git a/src/crypto/slow-hash.c b/src/crypto/slow-hash.c index 47ae2dab8..be3ad2425 100644 --- a/src/crypto/slow-hash.c +++ b/src/crypto/slow-hash.c @@ -44,8 +44,12 @@ #include +#ifndef MONERO_CRYPTO_SLOW_HASH_ITER +#define MONERO_CRYPTO_SLOW_HASH_ITER (1 << 20) +#endif + #define MEMORY (1 << 21) // 2MB scratchpad -#define ITER (1 << 20) +#define ITER MONERO_CRYPTO_SLOW_HASH_ITER #define AES_BLOCK_SIZE 16 #define AES_KEY_SIZE 32 #define INIT_SIZE_BLK 8