From 36498e6fd00eb22ad49eadb187dc62534223cbae Mon Sep 17 00:00:00 2001 From: "E. G. Patrick Bos" Date: Tue, 29 Apr 2025 16:03:06 +0200 Subject: [PATCH 1/6] add github actions build and test workflow --- .github/workflows/build.yml | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ae9c8c9 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,39 @@ +name: Build and Test xtensor-fftw + +on: + push: + branches: + - main + pull_request: + +jobs: + build-and-test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up micromamba + uses: mamba-org/setup-micromamba@v1 + with: + create-args: >- + cmake + fftw + xtensor + xtl + + - name: Configure and build + run: | + mkdir build + cd build + cmake .. -DDOWNLOAD_GTEST=ON + cmake --build test_xtensor-fftw + + - name: Run tests + run: | + cd test + ./test_xtensor-fftw \ No newline at end of file From 291ae98e03c090c7aa7927b81ed49dc6e12716e3 Mon Sep 17 00:00:00 2001 From: "E. G. Patrick Bos" Date: Tue, 29 Apr 2025 16:05:26 +0200 Subject: [PATCH 2/6] fixup --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ae9c8c9..63aff62 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,7 @@ jobs: - name: Set up micromamba uses: mamba-org/setup-micromamba@v1 with: + environment-name: ci create-args: >- cmake fftw From 9d482416c1a1cf8fcc7398431fbc1e7b82b00cd3 Mon Sep 17 00:00:00 2001 From: "E. G. Patrick Bos" Date: Tue, 29 Apr 2025 16:21:37 +0200 Subject: [PATCH 3/6] fixup to fix shell --- .github/workflows/build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63aff62..6afab00 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,10 @@ on: - main pull_request: +defaults: + run: + shell: bash -e -l {0} + jobs: build-and-test: runs-on: ${{ matrix.os }} @@ -21,6 +25,7 @@ jobs: uses: mamba-org/setup-micromamba@v1 with: environment-name: ci + init-shell: bash create-args: >- cmake fftw From 0affc1a51765488dc9238f059112cadc1776fddd Mon Sep 17 00:00:00 2001 From: "E. G. Patrick Bos" Date: Tue, 29 Apr 2025 16:47:33 +0200 Subject: [PATCH 4/6] fixup build command --- .github/workflows/build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6afab00..e52a52e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,9 +37,7 @@ jobs: mkdir build cd build cmake .. -DDOWNLOAD_GTEST=ON - cmake --build test_xtensor-fftw + cmake --build test - name: Run tests - run: | - cd test - ./test_xtensor-fftw \ No newline at end of file + run: build/test/test_xtensor-fftw \ No newline at end of file From 5e0f7084562b7cb7986bfb1f4235aca75de0b17d Mon Sep 17 00:00:00 2001 From: "E. G. Patrick Bos" Date: Tue, 29 Apr 2025 16:56:20 +0200 Subject: [PATCH 5/6] fixup setup MSVC on Windows like xtensor does --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e52a52e..0d8c90b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,6 +18,10 @@ jobs: os: [ubuntu-latest, macos-latest, windows-latest] steps: + - name: Setup MSVC on Windows + if: matrix.os == 'windows-latest' + uses: ilammy/msvc-dev-cmd@v1 + - name: Checkout repository uses: actions/checkout@v3 From 43e38227d5e702aa6e53dc5636c8607ce874b9db Mon Sep 17 00:00:00 2001 From: "E. G. Patrick Bos" Date: Tue, 29 Apr 2025 17:24:54 +0200 Subject: [PATCH 6/6] turn off long double on apple silicon --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0d8c90b..5a17f4c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, macos-13, macos-latest, windows-latest] steps: - name: Setup MSVC on Windows @@ -40,7 +40,7 @@ jobs: run: | mkdir build cd build - cmake .. -DDOWNLOAD_GTEST=ON + cmake .. -DDOWNLOAD_GTEST=ON -DFFTW_USE_LONG_DOUBLE=${{ matrix.os == 'macos-latest' && 'OFF' || 'ON' }} cmake --build test - name: Run tests