diff --git a/.github/workflows/clang-cl-qt6.yml b/.github/workflows/clang-cl-qt6.yml index 22ce2ec59..fd3a953b3 100644 --- a/.github/workflows/clang-cl-qt6.yml +++ b/.github/workflows/clang-cl-qt6.yml @@ -55,6 +55,13 @@ jobs: "TinyMySQLDataPath=$mysqlDataPath" >> $env:GITHUB_ENV "TinyParallel=$env:NUMBER_OF_PROCESSORS" >> $env:GITHUB_ENV + + $tinyormBuildFolder = 'clang-cl-cmake-debug' + "TinyORMBuildFolder=$tinyormBuildFolder" >> $env:GITHUB_ENV + + $tinyormBuildTree = Join-Path -Path $env:RUNNER_WORKSPACE TinyORM-builds-cmake ` + "build-$tinyormBuildFolder" + "TinyORMBuildTree=$tinyormBuildTree" >> $env:GITHUB_ENV env: DB_SQLITE_DATABASE: ${{ secrets.DB_SQLITE_DATABASE }} @@ -680,20 +687,20 @@ jobs: run: | cmake.exe --version - - name: TinyORM create build folder (clang-cl-cmake-debug) + - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) run: | - New-Item -Type Directory '../TinyORM-builds-cmake/build-clang-cl-cmake-debug' + New-Item -Type Directory $env:TinyORMBuildTree - name: Ccache clear statistics run: | ccache.exe --zero-stats - - name: TinyORM cmake configure (clang-cl-cmake-debug) + - name: TinyORM cmake configure (${{ env.TinyORMBuildName }}) run: >- cmake.exe --log-level=DEBUG --log-context -S . - -B ../TinyORM-builds-cmake/build-clang-cl-cmake-debug + -B $env:TinyORMBuildTree -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache.exe -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -714,17 +721,16 @@ jobs: -D TOM_EXAMPLE:BOOL=ON -D BUILD_DRIVERS:BOOL=OFF - - name: TinyORM cmake build ✨ (clang-cl-cmake-debug) - run: >- - cmake.exe --build ../TinyORM-builds-cmake/build-clang-cl-cmake-debug --target all - --parallel $env:TinyParallel + - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) + run: | + cmake.exe --build $env:TinyORMBuildTree --target all --parallel $env:TinyParallel - name: Ccache print statistics run: | ccache.exe --show-stats -vv - name: Create and Seed tables for unit tests 🎉 - working-directory: ../TinyORM-builds-cmake/build-clang-cl-cmake-debug/tests/testdata_tom + working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: >- $env:Path = '..\..;' + $env:Path @@ -754,7 +760,7 @@ jobs: # $env:NUMBER_OF_PROCESSORS / 2 : rounds down - name: TinyORM execute ctest 🔥 - working-directory: ../TinyORM-builds-cmake/build-clang-cl-cmake-debug + working-directory: ${{ env.TinyORMBuildTree }} run: >- ctest.exe --output-on-failure --parallel ([int] $env:TinyParallel + $env:NUMBER_OF_PROCESSORS / 2) @@ -780,7 +786,7 @@ jobs: TOM_TESTS_ENV: ${{ vars.TOM_TESTS_ENV }} - name: Tom example test some commands (MySQL) 🚀 - working-directory: ../TinyORM-builds-cmake/build-clang-cl-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path @@ -806,7 +812,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (PostgreSQL) 🙌 - working-directory: ../TinyORM-builds-cmake/build-clang-cl-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path @@ -829,7 +835,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (SQLite) 🏁 - working-directory: ../TinyORM-builds-cmake/build-clang-cl-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path diff --git a/.github/workflows/linux-qt5.yml b/.github/workflows/linux-qt5.yml index e8f767e1b..367e60f3b 100644 --- a/.github/workflows/linux-qt5.yml +++ b/.github/workflows/linux-qt5.yml @@ -63,6 +63,12 @@ jobs: echo "TinyParallel=$parallel" >> $GITHUB_ENV echo "TinyParallelVcpkg=$(nproc)" >> $GITHUB_ENV + + tinyormBuildName='${{ matrix.compiler.name }}-cmake-debug' + echo "TinyORMBuildName=$tinyormBuildName" >> $GITHUB_ENV + + tinyormBuildTree="$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-$tinyormBuildName" + echo "TinyORMBuildTree=$tinyormBuildTree" >> $GITHUB_ENV env: DB_SQLITE_DATABASE: ${{ secrets.DB_SQLITE_DATABASE }} @@ -267,20 +273,20 @@ jobs: run: | cmake --version - - name: TinyORM create build folder (${{ matrix.compiler.name }}-cmake-debug) + - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) run: | - mkdir --parents '../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug' + mkdir --parents "$TinyORMBuildTree" - name: Ccache clear statistics run: | ccache --zero-stats - - name: TinyORM cmake configure (${{ matrix.compiler.name }}-cmake-debug) + - name: TinyORM cmake configure (${{ env.TinyORMBuildName }}) run: >- cmake --log-level=DEBUG --log-context -S . - -B ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug + -B "$TinyORMBuildTree" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_CXX_COMPILER:FILEPATH=${{ matrix.compiler.command }} @@ -301,17 +307,16 @@ jobs: -D TOM_EXAMPLE:BOOL=ON -D BUILD_DRIVERS:BOOL=OFF - - name: TinyORM cmake build ✨ (${{ matrix.compiler.name }}-cmake-debug) - run: >- - cmake --build ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug - --target all --parallel $TinyParallel + - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) + run: | + cmake --build "$TinyORMBuildTree" --target all --parallel $TinyParallel - name: Ccache print statistics run: | ccache --show-stats -vv - name: Create and Seed tables for unit tests 🎉 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/tests/testdata_tom + working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: >- export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -335,7 +340,7 @@ jobs: TOM_TESTDATA_ENV: ${{ vars.TOM_TESTDATA_ENV }} - name: TinyORM execute ctest 🔥 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug + working-directory: ${{ env.TinyORMBuildTree }} run: | ctest --output-on-failure --parallel $(($TinyParallel + $(nproc) / 2)) env: @@ -355,7 +360,7 @@ jobs: TOM_TESTS_ENV: ${{ vars.TOM_TESTS_ENV }} - name: Tom example test some commands (MySQL) 🚀 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -377,7 +382,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (PostgreSQL) 🙌 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -399,7 +404,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (SQLite) 🏁 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" diff --git a/.github/workflows/linux-qt6.yml b/.github/workflows/linux-qt6.yml index 0029f2a19..7bc22432f 100644 --- a/.github/workflows/linux-qt6.yml +++ b/.github/workflows/linux-qt6.yml @@ -72,6 +72,12 @@ jobs: echo "TinyParallel=$parallel" >> $GITHUB_ENV echo "TinyParallelVcpkg=$(nproc)" >> $GITHUB_ENV + + tinyormBuildName='${{ matrix.compiler.name }}-cmake-debug' + echo "TinyORMBuildName=$tinyormBuildName" >> $GITHUB_ENV + + tinyormBuildTree="$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-$tinyormBuildName" + echo "TinyORMBuildTree=$tinyormBuildTree" >> $GITHUB_ENV env: DB_SQLITE_DATABASE: ${{ secrets.DB_SQLITE_DATABASE }} @@ -626,20 +632,20 @@ jobs: run: | cmake --version - - name: TinyORM create build folder (${{ matrix.compiler.name }}-cmake-debug) + - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) run: | - mkdir --parents '../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug' + mkdir --parents "$TinyORMBuildTree" - name: Ccache clear statistics run: | ccache --zero-stats - - name: TinyORM cmake configure (${{ matrix.compiler.name }}-cmake-debug) + - name: TinyORM cmake configure (${{ env.TinyORMBuildName }}) run: >- cmake --log-level=DEBUG --log-context -S . - -B ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug + -B "$TinyORMBuildTree" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_CXX_COMPILER:FILEPATH=${{ matrix.compiler.command }} @@ -660,17 +666,16 @@ jobs: -D TOM_EXAMPLE:BOOL=ON -D BUILD_DRIVERS:BOOL=OFF - - name: TinyORM cmake build ✨ (${{ matrix.compiler.name }}-cmake-debug) - run: >- - cmake --build ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug - --target all --parallel $TinyParallel + - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) + run: | + cmake --build "$TinyORMBuildTree" --target all --parallel $TinyParallel - name: Ccache print statistics run: | ccache --show-stats -vv - name: Create and Seed tables for unit tests 🎉 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/tests/testdata_tom + working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: >- export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -698,7 +703,7 @@ jobs: TOM_TESTDATA_ENV: ${{ vars.TOM_TESTDATA_ENV }} - name: TinyORM execute ctest 🔥 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug + working-directory: ${{ env.TinyORMBuildTree }} run: | ctest --output-on-failure --parallel $(($TinyParallel + $(nproc) / 2)) env: @@ -722,7 +727,7 @@ jobs: TOM_TESTS_ENV: ${{ vars.TOM_TESTS_ENV }} - name: Tom example test some commands (MySQL) 🚀 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -748,7 +753,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (PostgreSQL) 🙌 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -770,7 +775,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (SQLite) 🏁 - working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.name }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export LD_LIBRARY_PATH=../..${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" diff --git a/.github/workflows/msvc2019-qt5.yml b/.github/workflows/msvc2019-qt5.yml index c77f5950a..cc9e9ff19 100644 --- a/.github/workflows/msvc2019-qt5.yml +++ b/.github/workflows/msvc2019-qt5.yml @@ -47,6 +47,13 @@ jobs: "TinyMySQLDataPath=$mysqlDataPath" >> $env:GITHUB_ENV "TinyParallel=$env:NUMBER_OF_PROCESSORS" >> $env:GITHUB_ENV + + $tinyormBuildFolder = 'msvc-cmake-debug' + "TinyORMBuildFolder=$tinyormBuildFolder" >> $env:GITHUB_ENV + + $tinyormBuildTree = Join-Path -Path $env:RUNNER_WORKSPACE TinyORM-builds-cmake ` + "build-$tinyormBuildFolder" + "TinyORMBuildTree=$tinyormBuildTree" >> $env:GITHUB_ENV env: DB_SQLITE_DATABASE: ${{ secrets.DB_SQLITE_DATABASE }} @@ -430,20 +437,20 @@ jobs: run: | cmake.exe --version - - name: TinyORM create build folder (msvc-cmake-debug) + - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) run: | - New-Item -Type Directory '../TinyORM-builds-cmake/build-msvc-cmake-debug' + New-Item -Type Directory $env:TinyORMBuildTree - name: Ccache clear statistics run: | ccache.exe --zero-stats - - name: TinyORM cmake configure (msvc-cmake-debug) + - name: TinyORM cmake configure (${{ env.TinyORMBuildName }}) run: >- cmake.exe --log-level=DEBUG --log-context -S . - -B ../TinyORM-builds-cmake/build-msvc-cmake-debug + -B $env:TinyORMBuildTree -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache.exe -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -463,17 +470,16 @@ jobs: -D TOM_EXAMPLE:BOOL=ON -D BUILD_DRIVERS:BOOL=OFF - - name: TinyORM cmake build ✨ (msvc-cmake-debug) - run: >- - cmake.exe --build ../TinyORM-builds-cmake/build-msvc-cmake-debug --target all - --parallel $env:TinyParallel + - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) + run: | + cmake.exe --build $env:TinyORMBuildTree --target all --parallel $env:TinyParallel - name: Ccache print statistics run: | ccache.exe --show-stats -vv - name: Create and Seed tables for unit tests 🎉 - working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-debug/tests/testdata_tom + working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: >- $env:Path = '..\..;' + $env:Path @@ -498,7 +504,7 @@ jobs: # $env:NUMBER_OF_PROCESSORS / 2 : rounds down - name: TinyORM execute ctest 🔥 - working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-debug + working-directory: ${{ env.TinyORMBuildTree }} run: >- ctest.exe --output-on-failure --parallel ([int] $env:TinyParallel + $env:NUMBER_OF_PROCESSORS / 2) @@ -519,7 +525,7 @@ jobs: TOM_TESTS_ENV: ${{ vars.TOM_TESTS_ENV }} - name: Tom example test some commands (MySQL) 🚀 - working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path @@ -541,7 +547,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (PostgreSQL) 🙌 - working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path @@ -563,7 +569,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (SQLite) 🏁 - working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path diff --git a/.github/workflows/msvc2022-qt6.yml b/.github/workflows/msvc2022-qt6.yml index 061ec865f..907a2e6b6 100644 --- a/.github/workflows/msvc2022-qt6.yml +++ b/.github/workflows/msvc2022-qt6.yml @@ -71,6 +71,13 @@ jobs: "TinyQtSpecPlain=$qtSpecPlain" >> $env:GITHUB_ENV "TinyParallel=$env:NUMBER_OF_PROCESSORS" >> $env:GITHUB_ENV + + $tinyormBuildFolder = 'msvc-cmake-${{ matrix.build-type.key }}' + "TinyORMBuildFolder=$tinyormBuildFolder" >> $env:GITHUB_ENV + + $tinyormBuildTree = Join-Path -Path $env:RUNNER_WORKSPACE TinyORM-builds-cmake ` + "build-$tinyormBuildFolder" + "TinyORMBuildTree=$tinyormBuildTree" >> $env:GITHUB_ENV env: DB_SQLITE_DATABASE: ${{ secrets.DB_SQLITE_DATABASE }} @@ -683,21 +690,20 @@ jobs: run: | cmake.exe --version - - name: TinyORM create build folder (msvc-cmake-${{ matrix.build-type.key }}) - run: >- - New-Item -Type Directory - '../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }}' + - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) + run: | + New-Item -Type Directory $env:TinyORMBuildTree - name: Ccache clear statistics run: | ccache.exe --zero-stats - - name: TinyORM cmake configure (msvc-cmake-${{ matrix.build-type.key }}) + - name: TinyORM cmake configure (${{ env.TinyORMBuildName }}) run: >- cmake.exe --log-level=DEBUG --log-context -S . - -B ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }} + -B $env:TinyORMBuildTree -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache.exe -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -717,18 +723,16 @@ jobs: -D TOM_EXAMPLE:BOOL=ON -D BUILD_DRIVERS:BOOL=OFF - - name: TinyORM cmake build ✨ (msvc-cmake-${{ matrix.build-type.key }}) - run: >- - cmake.exe --build ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }} - --target all --parallel $env:TinyParallel + - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) + run: | + cmake.exe --build $env:TinyORMBuildTree --target all --parallel $env:TinyParallel - name: Ccache print statistics run: | ccache.exe --show-stats -vv - name: Create and Seed tables for unit tests 🎉 - working-directory: >- - ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }}/tests/testdata_tom + working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: >- $env:Path = '..\..;' + $env:Path @@ -757,7 +761,7 @@ jobs: # $env:NUMBER_OF_PROCESSORS / 2 : rounds down - name: TinyORM execute ctest 🔥 - working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }} + working-directory: ${{ env.TinyORMBuildTree }} run: >- ctest.exe --output-on-failure --parallel ([int] $env:TinyParallel + $env:NUMBER_OF_PROCESSORS / 2) @@ -782,8 +786,7 @@ jobs: TOM_TESTS_ENV: ${{ vars.TOM_TESTS_ENV }} - name: Tom example test some commands (MySQL) 🚀 - working-directory: >- - ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }}/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path @@ -809,8 +812,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (PostgreSQL) 🙌 - working-directory: >- - ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }}/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path @@ -832,8 +834,7 @@ jobs: TOM_EXAMPLE_ENV: ${{ vars.TOM_EXAMPLE_ENV }} - name: Tom example test some commands (SQLite) 🏁 - working-directory: >- - ../TinyORM-builds-cmake/build-msvc-cmake-${{ matrix.build-type.key }}/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | $env:Path = '..\..;' + $env:Path diff --git a/.github/workflows/msys2-ucrt64.yml b/.github/workflows/msys2-ucrt64.yml index 0e0b0dada..a0070ae07 100644 --- a/.github/workflows/msys2-ucrt64.yml +++ b/.github/workflows/msys2-ucrt64.yml @@ -82,6 +82,13 @@ jobs: "TinyParallel=$parallel" >> $env:GITHUB_ENV "TinyParallelVcpkg=$env:NUMBER_OF_PROCESSORS" >> $env:GITHUB_ENV + + $tinyormBuildFolder = '${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug' + "TinyORMBuildFolder=$tinyormBuildFolder" >> $env:GITHUB_ENV + + $tinyormBuildTree = Join-Path -Path $env:RUNNER_WORKSPACE TinyORM-builds-cmake ` + "build-$tinyormBuildFolder" + "TinyORMBuildTree=$tinyormBuildTree" >> $env:GITHUB_ENV env: DB_SQLITE_DATABASE: ${{ secrets.DB_SQLITE_DATABASE }} @@ -364,23 +371,22 @@ jobs: run: | "$VCPKG_INSTALLATION_ROOT/vcpkg.exe" --version - - name: TinyORM create build folder (${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug) - run: >- - New-Item -Type Directory - '../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug' + - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) + run: | + New-Item -Type Directory $env:TinyORMBuildTree - name: Ccache clear statistics shell: msys2 {0} run: | ccache.exe --zero-stats - - name: TinyORM cmake configure (${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug) + - name: TinyORM cmake configure (${{ env.TinyORMBuildName }}) shell: msys2 {0} run: >- cmake.exe --log-level=DEBUG --log-context -S . - -B ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug + -B $env:TinyORMBuildTree -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache.exe -D CMAKE_CXX_COMPILER:FILEPATH=${{ matrix.compiler.command }} @@ -401,12 +407,10 @@ jobs: -D TOM_EXAMPLE:BOOL=ON -D BUILD_DRIVERS:BOOL=OFF - - name: TinyORM cmake build ✨ (${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug) + - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) shell: msys2 {0} - run: >- - cmake.exe - --build ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug - --target all --parallel $TinyParallel + run: | + cmake.exe --build $env:TinyORMBuildTree --target all --parallel $TinyParallel - name: Ccache print statistics shell: msys2 {0} @@ -415,8 +419,7 @@ jobs: - name: Create and Seed tables for unit tests 🎉 shell: msys2 {0} - working-directory: >- - ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug/tests/testdata_tom + working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: >- export PATH=../..${PATH:+:}"$PATH" @@ -442,8 +445,7 @@ jobs: # $NUMBER_OF_PROCESSORS / 2 : rounds down; also don't use nproc here! - name: TinyORM execute ctest 🔥 shell: msys2 {0} - working-directory: >- - ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug + working-directory: ${{ env.TinyORMBuildTree }} run: | ctest.exe --output-on-failure --parallel $(($TinyParallel + $NUMBER_OF_PROCESSORS / 2)) env: @@ -464,8 +466,7 @@ jobs: - name: Tom example test some commands (MySQL) 🚀 shell: msys2 {0} - working-directory: >- - ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export PATH=../..${PATH:+:}"$PATH" @@ -488,8 +489,7 @@ jobs: - name: Tom example test some commands (PostgreSQL) 🙌 shell: msys2 {0} - working-directory: >- - ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export PATH=../..${PATH:+:}"$PATH" @@ -512,8 +512,7 @@ jobs: - name: Tom example test some commands (SQLite) 🏁 shell: msys2 {0} - working-directory: >- - ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-${{ matrix.qt.key }}-cmake-debug/examples/tom + working-directory: ${{ env.TinyORMBuildTree }}/examples/tom run: | export PATH=../..${PATH:+:}"$PATH"