From: Igor Munkin via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: Sergey Kaplun <skaplun@tarantool.org>, Sergey Bronnikov <sergeyb@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions Date: Thu, 11 Aug 2022 14:17:43 +0300 [thread overview] Message-ID: <9d4258549598fa5c11a4da1a40ca50cbb6281a16.1660216002.git.imun@tarantool.org> (raw) In-Reply-To: <cover.1660216002.git.imun@tarantool.org> Use out of source build configuration for LuaJIT testing jobs in all GitHub workflows. For this build type configuration unique subdirectory (using GitHub run ID) within runner temporary directory is used as a binary artefacts tree. Signed-off-by: Igor Munkin <imun@tarantool.org> --- .github/actions/environment/action.yml | 5 +++++ .github/workflows/lint.yml | 3 ++- .github/workflows/linux-aarch64.yml | 6 +++++- .github/workflows/linux-x86_64-ninja.yml | 6 +++++- .github/workflows/linux-x86_64.yml | 7 ++++++- .github/workflows/macos-m1.yml | 6 +++++- .github/workflows/macos-x86_64.yml | 7 ++++++- 7 files changed, 34 insertions(+), 6 deletions(-) diff --git a/.github/actions/environment/action.yml b/.github/actions/environment/action.yml index 43323bc7..7fb2625f 100644 --- a/.github/actions/environment/action.yml +++ b/.github/actions/environment/action.yml @@ -11,3 +11,8 @@ runs: NPROC=$(sysctl -n hw.logicalcpu 2>/dev/null || nproc) echo CMAKE_BUILD_PARALLEL_LEVEL=$(($NPROC + 1)) | tee -a $GITHUB_ENV shell: bash + - run: | + # Set BUILDDIR environment variable to specify LuaJIT + # build directory. + echo "BUILDDIR=${{ runner.temp }}/build-${{ github.run_id }}" | tee -a $GITHUB_ENV + shell: bash diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 28dc6be6..64e8f992 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -45,6 +45,7 @@ jobs: sudo apt -y install cmake make lua5.1 luarocks sudo luarocks install luacheck - name: configure - run: cmake . + run: cmake -S . -B ${{ env.BUILDDIR }} - name: test run: cmake --build . --target LuaJIT-luacheck + working-directory: ${{ env.BUILDDIR }} diff --git a/.github/workflows/linux-aarch64.yml b/.github/workflows/linux-aarch64.yml index 8c8dcff1..21d86764 100644 --- a/.github/workflows/linux-aarch64.yml +++ b/.github/workflows/linux-aarch64.yml @@ -53,11 +53,15 @@ jobs: sudo apt -y update sudo apt -y install cmake gcc make perl - name: configure - run: cmake . ${{ matrix.CMAKEFLAGS }} + run: > + cmake -S . -B ${{ env.BUILDDIR }} + ${{ matrix.CMAKEFLAGS }} - name: build run: cmake --build . --parallel + working-directory: ${{ env.BUILDDIR }} - name: test run: cmake --build . --parallel --target test + working-directory: ${{ env.BUILDDIR }} test-tarantool-debug-w-GC64: name: Tarantool Debug GC64:ON diff --git a/.github/workflows/linux-x86_64-ninja.yml b/.github/workflows/linux-x86_64-ninja.yml index 2877d2f6..72d56d54 100644 --- a/.github/workflows/linux-x86_64-ninja.yml +++ b/.github/workflows/linux-x86_64-ninja.yml @@ -44,8 +44,12 @@ jobs: sudo apt -y update sudo apt -y install cmake gcc ninja-build perl - name: configure - run: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja + run: > + cmake -S . -B ${{ env.BUILDDIR }} + -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja - name: build run: cmake --build . --parallel + working-directory: ${{ env.BUILDDIR }} - name: test run: cmake --build . --parallel --target test + working-directory: ${{ env.BUILDDIR }} diff --git a/.github/workflows/linux-x86_64.yml b/.github/workflows/linux-x86_64.yml index 44dcce98..4c3ad4c7 100644 --- a/.github/workflows/linux-x86_64.yml +++ b/.github/workflows/linux-x86_64.yml @@ -54,11 +54,16 @@ jobs: sudo apt -y update sudo apt -y install cmake gcc make perl - name: configure - run: cmake . ${{ matrix.CMAKEFLAGS }} -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} + run: > + cmake -S . -B ${{ env.BUILDDIR }} + ${{ matrix.CMAKEFLAGS }} + -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} - name: build run: cmake --build . --parallel + working-directory: ${{ env.BUILDDIR }} - name: test run: cmake --build . --parallel --target test + working-directory: ${{ env.BUILDDIR }} test-tarantool-debug-wo-GC64: name: Tarantool Debug GC64:OFF diff --git a/.github/workflows/macos-m1.yml b/.github/workflows/macos-m1.yml index e0269d60..e3b6dcda 100644 --- a/.github/workflows/macos-m1.yml +++ b/.github/workflows/macos-m1.yml @@ -68,11 +68,15 @@ jobs: ${ARCH} brew upgrade cmake gcc make perl ${ARCH} echo "CMAKE_BUILD_PARALLEL_LEVEL=$(($(sysctl -n hw.logicalcpu) + 1))" >> $GITHUB_ENV - name: configure - run: ${ARCH} cmake . ${{ matrix.CMAKEFLAGS }} + run: > + ${ARCH} cmake -S . -B ${{ env.BUILDDIR }} + ${{ matrix.CMAKEFLAGS }} - name: build run: ${ARCH} cmake --build . --parallel + working-directory: ${{ env.BUILDDIR }} - name: test run: ${ARCH} cmake --build . --parallel --target test + working-directory: ${{ env.BUILDDIR }} test-tarantool-debug-w-GC64: name: Tarantool Debug GC64:ON diff --git a/.github/workflows/macos-x86_64.yml b/.github/workflows/macos-x86_64.yml index 840806e3..3d2cf581 100644 --- a/.github/workflows/macos-x86_64.yml +++ b/.github/workflows/macos-x86_64.yml @@ -63,11 +63,16 @@ jobs: brew install --force cmake gcc make perl || brew upgrade cmake gcc make perl - name: configure - run: cmake . ${{ matrix.CMAKEFLAGS }} -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} + run: > + cmake -S . -B ${{ env.BUILDDIR }} + ${{ matrix.CMAKEFLAGS }} + -DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} - name: build run: cmake --build . --parallel + working-directory: ${{ env.BUILDDIR }} - name: test run: cmake --build . --parallel --target test + working-directory: ${{ env.BUILDDIR }} test-tarantool-debug-wo-GC64: name: Tarantool Debug GC64:OFF -- 2.34.0
next prev parent reply other threads:[~2022-08-11 11:29 UTC|newest] Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-08-11 11:17 [Tarantool-patches] [PATCH luajit 0/8] LuaJIT tests and CI enhancements Igor Munkin via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 1/8] test: introduce LUAJIT_TEST_VARDIR variable Igor Munkin via Tarantool-patches 2022-08-15 12:08 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 8:27 ` Sergey Kaplun via Tarantool-patches 2022-08-31 14:53 ` Igor Munkin via Tarantool-patches 2022-09-02 12:06 ` Sergey Bronnikov via Tarantool-patches 2022-10-05 19:51 ` Igor Munkin via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 2/8] test: introduce MakeLuaPath.cmake helper Igor Munkin via Tarantool-patches 2022-08-15 12:08 ` Sergey Bronnikov via Tarantool-patches 2022-08-31 15:07 ` Igor Munkin via Tarantool-patches 2022-09-02 12:09 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 9:37 ` Sergey Kaplun via Tarantool-patches 2022-08-31 15:19 ` Igor Munkin via Tarantool-patches 2022-09-01 10:16 ` Sergey Kaplun via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 3/8] test: fix tarantool suite for out of source build Igor Munkin via Tarantool-patches 2022-08-15 12:10 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 9:49 ` Sergey Kaplun via Tarantool-patches 2022-08-31 17:20 ` Igor Munkin via Tarantool-patches 2022-08-11 11:17 ` Igor Munkin via Tarantool-patches [this message] 2022-08-15 12:13 ` [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions Sergey Bronnikov via Tarantool-patches 2022-08-18 9:58 ` Sergey Kaplun via Tarantool-patches 2022-08-31 15:34 ` Igor Munkin via Tarantool-patches 2022-08-31 15:33 ` Igor Munkin via Tarantool-patches 2022-09-02 12:09 ` Sergey Bronnikov via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 5/8] ci: remove excess parallel level setup Igor Munkin via Tarantool-patches 2022-08-15 12:14 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 10:09 ` Sergey Kaplun via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 6/8] ci: remove arch prefix for macOS M1 workflow Igor Munkin via Tarantool-patches 2022-08-15 12:17 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 10:14 ` Sergey Kaplun via Tarantool-patches 2022-08-31 15:55 ` Igor Munkin via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows Igor Munkin via Tarantool-patches 2022-08-15 12:22 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 10:21 ` Sergey Kaplun via Tarantool-patches 2022-08-31 16:02 ` Igor Munkin via Tarantool-patches 2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 8/8] ci: merge Linux and macOS workflows Igor Munkin via Tarantool-patches 2022-08-15 12:27 ` Sergey Bronnikov via Tarantool-patches 2022-08-18 10:32 ` Sergey Kaplun via Tarantool-patches 2022-11-11 8:56 ` [Tarantool-patches] [PATCH luajit 0/8] LuaJIT tests and CI enhancements Igor Munkin via Tarantool-patches
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=9d4258549598fa5c11a4da1a40ca50cbb6281a16.1660216002.git.imun@tarantool.org \ --to=tarantool-patches@dev.tarantool.org \ --cc=imun@tarantool.org \ --cc=sergeyb@tarantool.org \ --cc=skaplun@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox