From: Sergey Bronnikov via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: Igor Munkin <imun@tarantool.org>, Sergey Kaplun <skaplun@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions Date: Mon, 15 Aug 2022 15:13:55 +0300 [thread overview] Message-ID: <d96a9773-5882-bb46-fe0c-906383be68bd@tarantool.org> (raw) In-Reply-To: <9d4258549598fa5c11a4da1a40ca50cbb6281a16.1660216002.git.imun@tarantool.org> Igor, please see my comment below. On 11.08.2022 14:17, Igor Munkin wrote: > 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 }} 1. I don't get an idea to use current dir for CMake and specify a working-directory in a job step. Why not "cmake --build ${{ env.BUILDDIR }}" as above? > > 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
next prev parent reply other threads:[~2022-08-15 12:13 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 ` [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions Igor Munkin via Tarantool-patches 2022-08-15 12:13 ` Sergey Bronnikov via Tarantool-patches [this message] 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=d96a9773-5882-bb46-fe0c-906383be68bd@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