Skip to content

Commit d40e61e

Browse files
author
MarcoFalke
committed
ci: Add native test for mac-cross result
1 parent 28006fa commit d40e61e

File tree

1 file changed

+96
-8
lines changed

1 file changed

+96
-8
lines changed

.github/workflows/ci.yml

Lines changed: 96 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,47 @@ jobs:
350350
${{ env.BASE_BUILD_DIR }}/src/univalue/*.exe
351351
${{ env.BASE_BUILD_DIR }}/test/config.ini
352352
353+
mac-cross:
354+
name: 'Linux->macOS cross, no tests'
355+
needs: runners
356+
runs-on: ${{ needs.runners.outputs.provider == 'cirrus' && 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm' || 'ubuntu-24.04' }}
357+
if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
358+
359+
env:
360+
FILE_ENV: './ci/test/00_setup_env_mac_cross.sh'
361+
DANGER_CI_ON_HOST_FOLDERS: 1
362+
363+
steps:
364+
- *CHECKOUT
365+
366+
- name: Configure environment
367+
uses: ./.github/actions/configure-environment
368+
369+
- name: Restore caches
370+
id: restore-cache
371+
uses: ./.github/actions/restore-caches
372+
373+
- name: Configure Docker
374+
uses: ./.github/actions/configure-docker
375+
with:
376+
cache-provider: ${{ needs.runners.outputs.provider }}
377+
378+
- name: CI script
379+
run: ./ci/test_run_all.sh
380+
381+
- name: Save caches
382+
uses: ./.github/actions/save-caches
383+
384+
- name: Upload built executables
385+
uses: actions/upload-artifact@v4
386+
with:
387+
name: mac-cross-executables-${{ github.run_id }}
388+
path: |
389+
${{ env.BASE_BUILD_DIR }}/bin/*
390+
${{ env.BASE_BUILD_DIR }}/src/secp256k1/bin/*
391+
${{ env.BASE_BUILD_DIR }}/src/univalue/*
392+
${{ env.BASE_BUILD_DIR }}/test/config.ini
393+
353394
windows-native-test:
354395
name: 'Windows, test cross-built'
355396
runs-on: windows-2022
@@ -408,8 +449,7 @@ jobs:
408449
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> "$GITHUB_ENV"
409450
410451
- name: Get previous releases
411-
working-directory: test
412-
run: ./get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
452+
run: ./test/get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
413453

414454
- name: Run functional tests
415455
env:
@@ -419,6 +459,60 @@ jobs:
419459
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
420460
run: py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix="$RUNNER_TEMP" --combinedlogslen=99999999 --timeout-factor=$TEST_RUNNER_TIMEOUT_FACTOR $EXCLUDE $TEST_RUNNER_EXTRA
421461

462+
mac-native-test:
463+
name: 'macOS, test cross-built'
464+
# The minimum supported macos version for releases
465+
runs-on: macos-14
466+
needs: mac-cross
467+
468+
env:
469+
TEST_RUNNER_TIMEOUT_FACTOR: 40
470+
471+
steps:
472+
- *CHECKOUT
473+
474+
- name: Download built executables
475+
uses: actions/download-artifact@v4
476+
with:
477+
name: mac-cross-executables-${{ github.run_id }}
478+
479+
- name: Ensure downloaded binaries are executable
480+
run: chmod -R +x ./bin ./src/secp256k1/bin ./src/univalue
481+
482+
- name: Run bitcoind
483+
run: ./bin/bitcoind -version
484+
485+
- name: Run unit tests
486+
run: |
487+
./bin/test_bitcoin -l test_suite
488+
./src/secp256k1/bin/exhaustive_tests
489+
./src/secp256k1/bin/noverify_tests
490+
./src/secp256k1/bin/tests
491+
./src/univalue/object
492+
./src/univalue/unitester
493+
494+
- name: Run benchmarks
495+
run: ./bin/bench_bitcoin -sanity-check
496+
497+
- name: Adjust paths in test/config.ini
498+
run: |
499+
sed -i '' "s|^SRCDIR=.*|SRCDIR=${{ github.workspace }}|" test/config.ini
500+
sed -i '' "s|^BUILDDIR=.*|BUILDDIR=${{ github.workspace }}|" test/config.ini
501+
sed -i '' "s|^RPCAUTH=.*|RPCAUTH=${{ github.workspace }}/share/rpcauth/rpcauth.py|" test/config.ini
502+
cat test/config.ini
503+
504+
- name: Set previous release directory
505+
run: |
506+
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> "$GITHUB_ENV"
507+
508+
- name: Get previous releases
509+
run: ./test/get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
510+
511+
- name: Run functional tests
512+
env:
513+
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
514+
run: python3 test/functional/test_runner.py --jobs $(sysctl -n hw.ncpu) --ci --quiet --tmpdirprefix="$RUNNER_TEMP" --combinedlogslen=99999999 --timeout-factor=$TEST_RUNNER_TIMEOUT_FACTOR $TEST_RUNNER_EXTRA
515+
422516
ci-matrix:
423517
name: ${{ matrix.name }}
424518
needs: runners
@@ -447,12 +541,6 @@ jobs:
447541
timeout-minutes: 120
448542
file-env: './ci/test/00_setup_env_native_asan.sh'
449543

450-
- name: 'macOS-cross, gui, no tests'
451-
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm'
452-
fallback-runner: 'ubuntu-24.04'
453-
timeout-minutes: 120
454-
file-env: './ci/test/00_setup_env_mac_cross.sh'
455-
456544
- name: 'No wallet, libbitcoinkernel'
457545
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm'
458546
fallback-runner: 'ubuntu-24.04'

0 commit comments

Comments
 (0)