From e2f2db071c3eab9ee604b9ee4c2215f8a09cccd7 Mon Sep 17 00:00:00 2001 From: Maksim Kokryashkin <max.kokryashkin@gmail.com> Date: Mon, 11 Dec 2023 14:39:36 +0300 Subject: [PATCH] ci: add optional submodule bump step Currently, if there is a need to test submodule integration with Tarantool and its integration, it is required to create a PR. That is inconvenient, so this patch introduces the option to run the same jobs that are triggered by the `full-ci` label as reusable workflows with the desired submodule revision. This allows for integration testing of submodules within their designated repositories. NO_DOC=CI NO_TEST=CI NO_CHANGELOG=CI --- .github/actions/bump-submodule/action.yml | 36 +++++++++++++++++++ .github/workflows/codeql.yml | 17 +++++++++ .github/workflows/coverage.yml | 17 +++++++++ .github/workflows/debug.yml | 17 +++++++++ .github/workflows/debug_aarch64.yml | 16 +++++++++ .github/workflows/debug_asan_clang.yml | 16 +++++++++ .github/workflows/default_gcc_centos_7.yml | 16 +++++++++ .github/workflows/freebsd-12.yml | 16 +++++++++ .github/workflows/freebsd-13.yml | 16 +++++++++ .github/workflows/integration.yml | 12 +++++++ .github/workflows/lint.yml | 16 +++++++++ .github/workflows/luajit-integration.yml | 23 +++--------- .../memtx_allocator_based_on_malloc.yml | 16 +++++++++ .github/workflows/osx_debug.yml | 16 +++++++++ .github/workflows/osx_release.yml | 16 +++++++++ .github/workflows/osx_release_lto.yml | 16 +++++++++ .github/workflows/osx_static_cmake.yml | 16 +++++++++ .github/workflows/out_of_source.yml | 16 +++++++++ .github/workflows/perf_micro.yml | 16 +++++++++ .github/workflows/release.yml | 16 +++++++++ .github/workflows/release_asan_clang.yml | 16 +++++++++ .github/workflows/release_clang.yml | 16 +++++++++ .github/workflows/release_lto.yml | 16 +++++++++ .github/workflows/release_lto_clang.yml | 16 +++++++++ .github/workflows/reusable_build.yml | 14 ++++++++ .github/workflows/static_build.yml | 16 +++++++++ .../workflows/static_build_cmake_linux.yml | 16 +++++++++ 27 files changed, 437 insertions(+), 19 deletions(-) create mode 100644 .github/actions/bump-submodule/action.yml diff --git a/.github/actions/bump-submodule/action.yml b/.github/actions/bump-submodule/action.yml new file mode 100644 index 0000000000..a0d7b88285 --- /dev/null +++ b/.github/actions/bump-submodule/action.yml @@ -0,0 +1,36 @@ +name: 'Bump submodule' +description: 'Bump specified submodule from third_party' + +inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string + +runs: + using: 'composite' + # XXX: Environment variables to suppress git config warning. + # The commit is required to avoid resetting dirty + # changes in submodule. + env: + GIT_COMMITTER_NAME: "integration testing workflow" + GIT_COMMITTER_EMAIL: "noreply@tarantool.org" + GIT_AUTHOR_NAME: "integration testing workflow" + GIT_AUTHOR_EMAIL: "noreply@tarantool.org" + steps: + run: | + pushd third_party/${{ inputs.submodule }} + git fetch origin + git checkout ${{ inputs.revision }} + popd + # XXX: --allow-empty is required to rerun flaky tests + # for HEAD when it is already bumped + # in tarantool/tarantool repo to the same revision. + # Otherwise the command below fails with "nothing to + # commit" reason. + git commit --allow-empty -m ${{ inputs.submodule }}": integration testing bump" \ + third_party/${{ inputs.submodule }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a1a47b8776..96d1b36d3f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -5,6 +5,16 @@ on: branches: [ "master" ] workflow_dispatch: branches: [ "master" ] + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string jobs: analyze: @@ -58,6 +68,13 @@ jobs: - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} + - name: Build run: make -f .test.mk build diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 78f214d24b..88b285ca98 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -68,6 +78,13 @@ jobs: - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} + - name: Run testing with coverage enabled run: make -f .test.mk test-coverage diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml index a72763d791..348adf7694 100644 --- a/.github/workflows/debug.yml +++ b/.github/workflows/debug.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -68,6 +78,13 @@ jobs: - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} + - name: Run testing run: make -f .test.mk test-debug diff --git a/.github/workflows/debug_aarch64.yml b/.github/workflows/debug_aarch64.yml index f8d1c9d341..0bc537d6d2 100644 --- a/.github/workflows/debug_aarch64.yml +++ b/.github/workflows/debug_aarch64.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-debug - name: Send VK Teams message on failure diff --git a/.github/workflows/debug_asan_clang.yml b/.github/workflows/debug_asan_clang.yml index 57a14c3b32..4598030030 100644 --- a/.github/workflows/debug_asan_clang.yml +++ b/.github/workflows/debug_asan_clang.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -64,6 +74,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: CC: clang-16 diff --git a/.github/workflows/default_gcc_centos_7.yml b/.github/workflows/default_gcc_centos_7.yml index 838e5bbecc..1db3fde46c 100644 --- a/.github/workflows/default_gcc_centos_7.yml +++ b/.github/workflows/default_gcc_centos_7.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -51,6 +61,12 @@ jobs: fetch-depth: 0 submodules: recursive - uses: ./.github/actions/environment + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: # Our testing expects that the init process (PID 1) will diff --git a/.github/workflows/freebsd-12.yml b/.github/workflows/freebsd-12.yml index 69ef9418f0..0f9a70f63a 100644 --- a/.github/workflows/freebsd-12.yml +++ b/.github/workflows/freebsd-12.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -50,6 +60,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-freebsd + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: gmake -f .test.mk test-freebsd-release - name: Send VK Teams message on failure diff --git a/.github/workflows/freebsd-13.yml b/.github/workflows/freebsd-13.yml index 308dff6ba9..1c710dcdc9 100644 --- a/.github/workflows/freebsd-13.yml +++ b/.github/workflows/freebsd-13.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -50,6 +60,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-freebsd + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: gmake -f .test.mk test-freebsd-release - name: Send VK Teams message on failure diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 935c27f079..c122ac23a9 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -10,6 +10,16 @@ on: pull_request: types: [ opened, reopened, synchronize, labeled ] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -44,6 +54,8 @@ jobs: ref: ${{ github.sha }} os: ubuntu dist: focal + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} vshard: needs: tarantool diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9bbf9a58c2..f1431d59fb 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -52,6 +62,12 @@ jobs: submodules: recursive - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk luacheck - name: Send VK Teams message on failure diff --git a/.github/workflows/luajit-integration.yml b/.github/workflows/luajit-integration.yml index fa9aa4db63..3bade68432 100644 --- a/.github/workflows/luajit-integration.yml +++ b/.github/workflows/luajit-integration.yml @@ -63,25 +63,10 @@ jobs: ref: ${{ inputs.release }} - name: LuaJIT bump - run: | - pushd third_party/luajit - git fetch origin - git checkout ${{ inputs.revision }} - popd - # XXX: export the following environment variables to - # suppress git config warning. The commit is required to - # avoid resetting dirty changes in LuaJIT submodule. - export GIT_COMMITTER_NAME="LuaJIT integration testing workflow" - export GIT_COMMITTER_EMAIL="noreply@tarantool.org" - export GIT_AUTHOR_NAME="LuaJIT integration testing workflow" - export GIT_AUTHOR_EMAIL="noreply@tarantool.org" - # XXX: --allow-empty is required to rerun flaky tests - # for tarantool/luajit HEAD when it is already bumped - # in tarantool/tarantool repo to the same revision. - # Otherwise the command below fails with "nothing to - # commit" reason. - git commit --allow-empty -m "luajit: integration testing bump" \ - third_party/luajit + uses: ./.github/actions/bump-submodule + with: + submodule: luajit + revision: ${{ inputs.revision }} - name: Set environment uses: ./.github/actions/environment diff --git a/.github/workflows/memtx_allocator_based_on_malloc.yml b/.github/workflows/memtx_allocator_based_on_malloc.yml index 3697c9e5cc..aadad4dab3 100644 --- a/.github/workflows/memtx_allocator_based_on_malloc.yml +++ b/.github/workflows/memtx_allocator_based_on_malloc.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: TEST_RUN_EXTRA_PARAMS: --memtx-allocator=system diff --git a/.github/workflows/osx_debug.yml b/.github/workflows/osx_debug.yml index f44f1daa20..bdc1dec28c 100644 --- a/.github/workflows/osx_debug.yml +++ b/.github/workflows/osx_debug.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -56,6 +66,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-osx + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-osx-debug - name: Send VK Teams message on failure diff --git a/.github/workflows/osx_release.yml b/.github/workflows/osx_release.yml index ae39a697f2..4cb467298b 100644 --- a/.github/workflows/osx_release.yml +++ b/.github/workflows/osx_release.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -59,6 +69,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-osx + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-osx-release - name: Send VK Teams message on failure diff --git a/.github/workflows/osx_release_lto.yml b/.github/workflows/osx_release_lto.yml index 17481a7e97..5f5bffb159 100644 --- a/.github/workflows/osx_release_lto.yml +++ b/.github/workflows/osx_release_lto.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -56,6 +66,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-osx + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: CMAKE_EXTRA_PARAMS: -DENABLE_LTO=ON diff --git a/.github/workflows/osx_static_cmake.yml b/.github/workflows/osx_static_cmake.yml index f3f79b1fc4..621dfa0ac8 100644 --- a/.github/workflows/osx_static_cmake.yml +++ b/.github/workflows/osx_static_cmake.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -57,6 +67,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-osx + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-osx-static-cmake - name: Send VK Teams message on failure diff --git a/.github/workflows/out_of_source.yml b/.github/workflows/out_of_source.yml index fab4ace0ba..c4204739c3 100644 --- a/.github/workflows/out_of_source.yml +++ b/.github/workflows/out_of_source.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: BUILD_DIR: build diff --git a/.github/workflows/perf_micro.yml b/.github/workflows/perf_micro.yml index 0192193c9b..8faa2f5180 100644 --- a/.github/workflows/perf_micro.yml +++ b/.github/workflows/perf_micro.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -50,6 +60,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-perf - name: Send VK Teams message on failure diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0488aba8d..ec18ca4d03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,16 @@ on: - '**' pull_request: workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-release - name: Send VK Teams message on failure diff --git a/.github/workflows/release_asan_clang.yml b/.github/workflows/release_asan_clang.yml index 4e0846bf2d..89fd7271bc 100644 --- a/.github/workflows/release_asan_clang.yml +++ b/.github/workflows/release_asan_clang.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -64,6 +74,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: CC: clang-16 diff --git a/.github/workflows/release_clang.yml b/.github/workflows/release_clang.yml index 4e19d663d2..356c3440a8 100644 --- a/.github/workflows/release_clang.yml +++ b/.github/workflows/release_clang.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: CC: clang-16 diff --git a/.github/workflows/release_lto.yml b/.github/workflows/release_lto.yml index 9b3afa4809..9ec89d8b4d 100644 --- a/.github/workflows/release_lto.yml +++ b/.github/workflows/release_lto.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: CMAKE_EXTRA_PARAMS: -DENABLE_LTO=ON diff --git a/.github/workflows/release_lto_clang.yml b/.github/workflows/release_lto_clang.yml index a9a957ede8..363a01659f 100644 --- a/.github/workflows/release_lto_clang.yml +++ b/.github/workflows/release_lto_clang.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -63,6 +73,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test env: CC: clang-16 diff --git a/.github/workflows/reusable_build.yml b/.github/workflows/reusable_build.yml index afef32e06b..ff8f805c8b 100644 --- a/.github/workflows/reusable_build.yml +++ b/.github/workflows/reusable_build.yml @@ -19,6 +19,14 @@ on: default: focal required: false type: string + submodule: + description: Name of submodule to bump. + required: false + type: string + revision: + description: Git revision from submodule repository + required: false + type: string jobs: build: @@ -40,6 +48,12 @@ jobs: id: get_sha run: echo "sha=$(git log -1 --format='%H')" >> $GITHUB_OUTPUT - uses: ./.github/actions/environment + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: 'Build tarantool packages for ${{ env.OS }}(${{ env.DIST }})' id: run_build env: diff --git a/.github/workflows/static_build.yml b/.github/workflows/static_build.yml index ffe2843932..0f2d964464 100644 --- a/.github/workflows/static_build.yml +++ b/.github/workflows/static_build.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -64,6 +74,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-static - name: Send VK Teams message on failure diff --git a/.github/workflows/static_build_cmake_linux.yml b/.github/workflows/static_build_cmake_linux.yml index d7c923db4f..0f8b1c3a39 100644 --- a/.github/workflows/static_build_cmake_linux.yml +++ b/.github/workflows/static_build_cmake_linux.yml @@ -10,6 +10,16 @@ on: pull_request: types: [opened, reopened, synchronize, labeled] workflow_dispatch: + workflow_call: + inputs: + submodule: + description: Name of submodule to bump. + required: true + type: string + revision: + description: Git revision from submodule repository + required: true + type: string concurrency: # Update of a developer branch cancels the previously scheduled workflow @@ -64,6 +74,12 @@ jobs: - uses: ./.github/actions/environment - name: Install deps uses: ./.github/actions/install-deps-debian + - name: Optional submodule bump + if: ${{ inputs.submodule }} + uses: ./.github/actions/bump-submodule + with: + submodule: ${{ inputs.submodule }} + revision: ${{ inputs.revision }} - name: test run: make -f .test.mk test-static-cmake - name: Send VK Teams message on failure -- GitLab