Tarantool development patches archive
 help / color / mirror / Atom feed
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

  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