From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 44C2A6F154; Mon, 15 Aug 2022 15:22:12 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 44C2A6F154 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1660566132; bh=dGY6ZoQJ+rVdUjNrbujwjk52x2QJb9rpyi9opifmsP0=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=jYlhnigcXSRCKNL3n0ekJSTrck0X5PAMYc2GzyBSzSeRdlVJefkUk5UJ1Bt5Mj41D qy5t7sFrSrzsQmzcHKS0tEUSwYjXIuiaxLUoBf/9a6lUywCmp4nSc2vNtMpvztv624 Bw5iKFJlSLFSJm+VbQEbebxY0us318GUy5ssHaVI= Received: from smtp44.i.mail.ru (smtp44.i.mail.ru [94.100.177.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id DB2066F154 for ; Mon, 15 Aug 2022 15:22:10 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org DB2066F154 Received: by smtp44.i.mail.ru with esmtpa (envelope-from ) id 1oNZ6g-0002Qy-0p; Mon, 15 Aug 2022 15:22:10 +0300 Message-ID: <7112b28b-e92f-c9c0-5d5a-2a879fa4ffde@tarantool.org> Date: Mon, 15 Aug 2022 15:22:09 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US To: Igor Munkin , Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD999D8F08CF16C6CA73690FBA0B7D74E7E436A8D667CF9FF2800894C459B0CD1B925516325D956B2B01B5D24BA90E93816C2A8353BD991D846C1F8F9D846F8CF10 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE76D34FAA3D8B31588C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE796563325B6E011C88F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB55337566627B9FD0EE8BFE9899C012D44EE9FF2AA5C5DAA353DF2625A471835C12D1D9774AD6D5ED66289B5278DA827A17800CE71DD432BB81541BCF9FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C3CA5A41EBD8A3A0199FA2833FD35BB23DF004C90652538430302FCEF25BFAB3454AD6D5ED66289B5278DA827A17800CE76D34D896D818D822D32BA5DBAC0009BE395957E7521B51C20BC6067A898B09E4090A508E0FED6299176DF2183F8FC7C03FBDFDC7E18BC620CD04E86FAF290E2D7E9C4E3C761E06A71DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B6753C3A5E0A5AB5B7089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 9604B64F49C60606AD91A466A1DEF99B296C473AB1E142185AC9E3593CE4B31AB1881A6453793CE9274300E5CE05BD4401A9E91200F654B0CBAED148C0C85B12627B9FD0EE8BFE9899C012D44EE9FF2AA5C5DAA353DF26259C2B6934AE262D3EE7EAB7254005DCED8DA55E71E02F9FC08E8E86DC7131B365E7726E8460B7C23C X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34C53D1911AD7E4199958499FE7812E6B0BE90517B4874C582F62BA0711AD2E567C43023BFCCD31DE91D7E09C32AA3244C8EEBDAD760F8BDC2F4BBF70A7E757F2F8894E9C85370243EFACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojKOC4OzB6pCOxEw11IfR2zA== X-Mailru-Sender: 11C2EC085EDE56FAC71737E9F694C0DE54FDBB4AE97C5519E8A2472A72ED5C4E39E4AC242C9BB8B4645D15D82EE4B272BD6E4642A116CA93524AA66B5ACBE6721EF430B9A63E2A504198E0F3ECE9B5443453F38A29522196 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Looks good, LGTM On 11.08.2022 14:17, Igor Munkin wrote: > As a result of the previous commit, there is no difference left between > x86_64 and ARM64 workflows except the runner where workflow is run. > Hence there is no reason to have a separate workflow file for each > hardware architecture. > > Signed-off-by: Igor Munkin > --- > .github/workflows/linux-aarch64.yml | 83 ----------------- > .../workflows/{linux-x86_64.yml => linux.yml} | 52 ++++++++--- > .github/workflows/macos-m1.yml | 92 ------------------- > .../workflows/{macos-x86_64.yml => macos.yml} | 52 ++++++++--- > 4 files changed, 82 insertions(+), 197 deletions(-) > delete mode 100644 .github/workflows/linux-aarch64.yml > rename .github/workflows/{linux-x86_64.yml => linux.yml} (69%) > delete mode 100644 .github/workflows/macos-m1.yml > rename .github/workflows/{macos-x86_64.yml => macos.yml} (73%) > > diff --git a/.github/workflows/linux-aarch64.yml b/.github/workflows/linux-aarch64.yml > deleted file mode 100644 > index 21d86764..00000000 > --- a/.github/workflows/linux-aarch64.yml > +++ /dev/null > @@ -1,83 +0,0 @@ > -name: "Linux/aarch64 test workflow" > - > -on: > - push: > - branches-ignore: > - - '**-notest' > - - 'upstream-**' > - tags-ignore: > - - '**' > - > -concurrency: > - # An update of a developer branch cancels the previously > - # scheduled workflow run for this branch. However, the default > - # branch, and long-term branch (tarantool-1.10, tarantool-2.8, > - # etc.) workflow runs are never canceled. > - # > - # We use a trick here: define the concurrency group as 'workflow > - # run ID' + # 'workflow run attempt' because it is a unique > - # combination for any run. So it effectively discards grouping. > - # > - # XXX: we cannot use `github.sha` as a unique identifier because > - # pushing a tag may cancel a run that works on a branch push > - # event. > - group: ${{ ( > - github.ref == 'refs/heads/tarantool' || > - startsWith(github.ref, 'refs/heads/tarantool-')) && > - format('{0}-{1}', github.run_id, github.run_attempt) || > - format('{0}-{1}', github.workflow, github.ref) }} > - cancel-in-progress: true > - > -jobs: > - test-luajit: > - runs-on: graviton > - strategy: > - fail-fast: false > - matrix: > - BUILDTYPE: [Debug, Release] > - include: > - - BUILDTYPE: Debug > - CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON > - - BUILDTYPE: Release > - CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo > - name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:ON > - steps: > - - uses: actions/checkout@v2.3.4 > - with: > - fetch-depth: 0 > - submodules: recursive > - - name: environment > - uses: ./.github/actions/environment > - - name: setup > - run: | > - sudo apt -y update > - sudo apt -y install cmake gcc make perl > - - name: configure > - 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 > - needs: test-luajit > - uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > - with: > - GC64: ON > - buildtype: Debug > - host: graviton > - revision: ${{ github.sha }} > - test-tarantool-release-w-GC64: > - name: Tarantool Release GC64:ON > - needs: test-luajit > - uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > - with: > - GC64: ON > - buildtype: RelWithDebInfo > - host: graviton > - revision: ${{ github.sha }} > diff --git a/.github/workflows/linux-x86_64.yml b/.github/workflows/linux.yml > similarity index 69% > rename from .github/workflows/linux-x86_64.yml > rename to .github/workflows/linux.yml > index 4c3ad4c7..125c8708 100644 > --- a/.github/workflows/linux-x86_64.yml > +++ b/.github/workflows/linux.yml > @@ -1,4 +1,4 @@ > -name: "Linux/x86_64 test workflow" > +name: "Linux test workflow" > > on: > push: > @@ -30,18 +30,30 @@ concurrency: > > jobs: > test-luajit: > - runs-on: ubuntu-20.04-self-hosted > strategy: > fail-fast: false > matrix: > + ARCH: [aarch64, x86_64] > BUILDTYPE: [Debug, Release] > GC64: [ON, OFF] > include: > + - ARCH: aarch64 > + RUNNER: graviton > + - ARCH: x86_64 > + RUNNER: ubuntu-20.04-self-hosted > - BUILDTYPE: Debug > CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON > - BUILDTYPE: Release > CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo > - name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:${{ matrix.GC64 }} > + exclude: > + - ARCH: aarch64 > + GC64: OFF > + runs-on: ${{ matrix.RUNNER }} > + name: > > + LuaJIT > + ${{ matrix.ARCH }} > + ${{ matrix.BUILDTYPE }} > + GC64:${{ matrix.GC64 }} > steps: > - uses: actions/checkout@v2.3.4 > with: > @@ -65,8 +77,8 @@ jobs: > run: cmake --build . --parallel --target test > working-directory: ${{ env.BUILDDIR }} > > - test-tarantool-debug-wo-GC64: > - name: Tarantool Debug GC64:OFF > + test-tarantool-x86_64-debug-wo-GC64: > + name: Tarantool x86_64 Debug GC64:OFF > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -74,8 +86,8 @@ jobs: > buildtype: Debug > host: ubuntu-20.04-self-hosted > revision: ${{ github.sha }} > - test-tarantool-debug-w-GC64: > - name: Tarantool Debug GC64:ON > + test-tarantool-x86_64-debug-w-GC64: > + name: Tarantool x86_64 Debug GC64:ON > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -83,8 +95,8 @@ jobs: > buildtype: Debug > host: ubuntu-20.04-self-hosted > revision: ${{ github.sha }} > - test-tarantool-release-wo-GC64: > - name: Tarantool Release GC64:OFF > + test-tarantool-x86_64-release-wo-GC64: > + name: Tarantool x86_64 Release GC64:OFF > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -92,8 +104,8 @@ jobs: > buildtype: RelWithDebInfo > host: ubuntu-20.04-self-hosted > revision: ${{ github.sha }} > - test-tarantool-release-w-GC64: > - name: Tarantool Release GC64:ON > + test-tarantool-x86_64-release-w-GC64: > + name: Tarantool x86_64 Release GC64:ON > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -101,3 +113,21 @@ jobs: > buildtype: RelWithDebInfo > host: ubuntu-20.04-self-hosted > revision: ${{ github.sha }} > + test-tarantool-aarch64-debug-w-GC64: > + name: Tarantool aarch64 Debug GC64:ON > + needs: test-luajit > + uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > + with: > + GC64: ON > + buildtype: Debug > + host: graviton > + revision: ${{ github.sha }} > + test-tarantool-aarch64-release-w-GC64: > + name: Tarantool aarch64 Release GC64:ON > + needs: test-luajit > + uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > + with: > + GC64: ON > + buildtype: RelWithDebInfo > + host: graviton > + revision: ${{ github.sha }} > diff --git a/.github/workflows/macos-m1.yml b/.github/workflows/macos-m1.yml > deleted file mode 100644 > index 4e1275f7..00000000 > --- a/.github/workflows/macos-m1.yml > +++ /dev/null > @@ -1,92 +0,0 @@ > -name: "macOS/m1 test workflow" > - > -on: > - push: > - branches-ignore: > - - '**-notest' > - - 'upstream-**' > - tags-ignore: > - - '**' > - > -concurrency: > - # An update of a developer branch cancels the previously > - # scheduled workflow run for this branch. However, the default > - # branch, and long-term branch (tarantool-1.10, tarantool-2.8, > - # etc.) workflow runs are never canceled. > - # > - # We use a trick here: define the concurrency group as 'workflow > - # run ID' + # 'workflow run attempt' because it is a unique > - # combination for any run. So it effectively discards grouping. > - # > - # XXX: we cannot use `github.sha` as a unique identifier because > - # pushing a tag may cancel a run that works on a branch push > - # event. > - group: ${{ ( > - github.ref == 'refs/heads/tarantool' || > - startsWith(github.ref, 'refs/heads/tarantool-')) && > - format('{0}-{1}', github.run_id, github.run_attempt) || > - format('{0}-{1}', github.workflow, github.ref) }} > - cancel-in-progress: true > - > -jobs: > - test-luajit: > - runs-on: macos-11-m1 > - strategy: > - fail-fast: false > - matrix: > - BUILDTYPE: [Debug, Release] > - include: > - - BUILDTYPE: Debug > - CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON > - - BUILDTYPE: Release > - CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo > - name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:ON > - steps: > - - uses: actions/checkout@v2.3.4 > - with: > - fetch-depth: 0 > - submodules: recursive > - - name: environment > - uses: ./.github/actions/environment > - - name: setup > - run: | > - # Install brew using the command from Homebrew repository > - # instructions: https://github.com/Homebrew/install. > - # XXX: 'echo' command below is required since brew installation > - # script obliges the one to enter a newline for confirming the > - # installation via Ruby script. > - brew update || > - echo | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" > - # Try to install the packages either upgrade it to avoid of fails > - # if the package already exists with the previous version. > - brew install --force cmake gcc make perl || > - brew upgrade cmake gcc make perl > - - name: configure > - 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 > - needs: test-luajit > - uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > - with: > - GC64: ON > - buildtype: Debug > - host: macos-11-m1 > - revision: ${{ github.sha }} > - test-tarantool-release-w-GC64: > - name: Tarantool Release GC64:ON > - needs: test-luajit > - uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > - with: > - GC64: ON > - buildtype: RelWithDebInfo > - host: macos-11-m1 > - revision: ${{ github.sha }} > diff --git a/.github/workflows/macos-x86_64.yml b/.github/workflows/macos.yml > similarity index 73% > rename from .github/workflows/macos-x86_64.yml > rename to .github/workflows/macos.yml > index 3d2cf581..2fa97f1e 100644 > --- a/.github/workflows/macos-x86_64.yml > +++ b/.github/workflows/macos.yml > @@ -1,4 +1,4 @@ > -name: "macOS/x86_64 test workflow" > +name: "macOS test workflow" > > on: > push: > @@ -30,18 +30,30 @@ concurrency: > > jobs: > test-luajit: > - runs-on: macos-11 > strategy: > fail-fast: false > matrix: > + ARCH: [M1, x86_64] > BUILDTYPE: [Debug, Release] > GC64: [ON, OFF] > include: > + - ARCH: M1 > + RUNNER: macos-11-m1 > + - ARCH: x86_64 > + RUNNER: macos-11 > - BUILDTYPE: Debug > CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON > - BUILDTYPE: Release > CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo > - name: LuaJIT ${{ matrix.BUILDTYPE }} GC64:${{ matrix.GC64 }} > + exclude: > + - ARCH: M1 > + GC64: OFF > + runs-on: ${{ matrix.RUNNER }} > + name: > > + LuaJIT > + ${{ matrix.ARCH }} > + ${{ matrix.BUILDTYPE }} > + GC64:${{ matrix.GC64 }} > steps: > - uses: actions/checkout@v2.3.4 > with: > @@ -74,8 +86,8 @@ jobs: > run: cmake --build . --parallel --target test > working-directory: ${{ env.BUILDDIR }} > > - test-tarantool-debug-wo-GC64: > - name: Tarantool Debug GC64:OFF > + test-tarantool-x86_64-debug-wo-GC64: > + name: Tarantool x86_64 Debug GC64:OFF > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -83,8 +95,8 @@ jobs: > buildtype: Debug > host: macos-11 > revision: ${{ github.sha }} > - test-tarantool-debug-w-GC64: > - name: Tarantool Debug GC64:ON > + test-tarantool-x86_64-debug-w-GC64: > + name: Tarantool x86_64 Debug GC64:ON > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -92,8 +104,8 @@ jobs: > buildtype: Debug > host: macos-11 > revision: ${{ github.sha }} > - test-tarantool-release-wo-GC64: > - name: Tarantool Release GC64:OFF > + test-tarantool-x86_64-release-wo-GC64: > + name: Tarantool x86_64 Release GC64:OFF > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -101,8 +113,8 @@ jobs: > buildtype: RelWithDebInfo > host: macos-11 > revision: ${{ github.sha }} > - test-tarantool-release-w-GC64: > - name: Tarantool Release GC64:ON > + test-tarantool-x86_64-release-w-GC64: > + name: Tarantool x86_64 Release GC64:ON > needs: test-luajit > uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > with: > @@ -110,3 +122,21 @@ jobs: > buildtype: RelWithDebInfo > host: macos-11 > revision: ${{ github.sha }} > + test-tarantool-m1-debug-w-GC64: > + name: Tarantool M1 Debug GC64:ON > + needs: test-luajit > + uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > + with: > + GC64: ON > + buildtype: Debug > + host: macos-11-m1 > + revision: ${{ github.sha }} > + test-tarantool-m1-release-w-GC64: > + name: Tarantool M1 Release GC64:ON > + needs: test-luajit > + uses: tarantool/tarantool/.github/workflows/luajit-integration.yml@master > + with: > + GC64: ON > + buildtype: RelWithDebInfo > + host: macos-11-m1 > + revision: ${{ github.sha }}