Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Testing | ||
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/release/2.11, | ||
# tarantool/release/2.10, 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: ${{ 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: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
ARCH: [ARM64, x86_64] | ||
BUILDTYPE: [Debug, Release] | ||
GC64: [ON, OFF] | ||
OS: [Linux, macOS] | ||
CC: [gcc, clang] | ||
include: | ||
- BUILDTYPE: Debug | ||
CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON | ||
- BUILDTYPE: Release | ||
CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||
exclude: | ||
- ARCH: ARM64 | ||
GC64: OFF | ||
- OS: macOS | ||
GC64: OFF | ||
- OS: macOS | ||
CC: gcc | ||
- ARCH: ARM64 | ||
OS: Linux | ||
CC: clang | ||
runs-on: [self-hosted, regular, '${{ matrix.OS }}', '${{ matrix.ARCH }}'] | ||
name: > | ||
LuaJIT | ||
(${{ matrix.OS }}/${{ matrix.ARCH }}) | ||
${{ matrix.BUILDTYPE }} | ||
GC64:${{ matrix.GC64 }} | ||
CC:${{ matrix.CC }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
submodules: recursive | ||
- name: setup Linux | ||
uses: ./.github/actions/setup-linux | ||
if: ${{ matrix.OS == 'Linux' }} | ||
- name: setup macOS | ||
uses: ./.github/actions/setup-macos | ||
if: ${{ matrix.OS == 'macOS' }} | ||
- name: configure | ||
run: > | ||
CC=${{ matrix.CC }} | ||
cmake -S . -B ${{ env.BUILDDIR }} | ||
-G Ninja | ||
${{ matrix.CMAKEFLAGS }} | ||
-DLUAJIT_ENABLE_GC64=${{ matrix.GC64 }} | ||
- name: build | ||
run: cmake --build . --parallel | ||
working-directory: ${{ env.BUILDDIR }} | ||
- name: test | ||
run: cmake --build . --parallel --target LuaJIT-test | ||
working-directory: ${{ env.BUILDDIR }} | ||
test-tarantool-codeql: | ||
needs: test-luajit | ||
steps: | ||
- name: codeql | ||
uses: tarantool/tarantool/.github/workflows/codeql.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-coverage: | ||
needs: test-luajit | ||
steps: | ||
- name: coverage | ||
uses: tarantool/tarantool/.github/workflows/coverage.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-debug: | ||
needs: test-luajit | ||
steps: | ||
- name: debug | ||
uses: tarantool/tarantool/.github/workflows/debug.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-debug_aarch64: | ||
needs: test-luajit | ||
steps: | ||
- name: debug_aarch64 | ||
uses: tarantool/tarantool/.github/workflows/debug_aarch64.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-debug_asan_clang: | ||
needs: test-luajit | ||
steps: | ||
- name: debug_asan_clang | ||
uses: tarantool/tarantool/.github/workflows/debug_asan_clang.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-default_gcc_centos_7: | ||
needs: test-luajit | ||
steps: | ||
- name: default_gcc_centos_7 | ||
uses: tarantool/tarantool/.github/workflows/default_gcc_centos_7.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-freebsd-12: | ||
needs: test-luajit | ||
steps: | ||
- name: freebsd | ||
uses: tarantool/tarantool/.github/workflows/freebsd.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-freebsd-13: | ||
needs: test-luajit | ||
steps: | ||
- name: freebsd | ||
uses: tarantool/tarantool/.github/workflows/freebsd.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-integration: | ||
needs: test-luajit | ||
steps: | ||
- name: integration | ||
uses: tarantool/tarantool/.github/workflows/integration.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-lint: | ||
needs: test-luajit | ||
steps: | ||
- name: lint | ||
uses: tarantool/tarantool/.github/workflows/lint.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-memtx_allocator_based_on_malloc: | ||
needs: test-luajit | ||
steps: | ||
- name: memtx_allocator_based_on_malloc | ||
uses: tarantool/tarantool/.github/workflows/memtx_allocator_based_on_malloc.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-osx_debug: | ||
needs: test-luajit | ||
steps: | ||
- name: osx_debug | ||
uses: tarantool/tarantool/.github/workflows/osx_debug.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-osx_release: | ||
needs: test-luajit | ||
steps: | ||
- name: osx_release | ||
uses: tarantool/tarantool/.github/workflows/osx_release.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-osx_release_lto: | ||
needs: test-luajit | ||
steps: | ||
- name: osx_release_lto | ||
uses: tarantool/tarantool/.github/workflows/osx_release_lto.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-osx_static_cmake: | ||
needs: test-luajit | ||
steps: | ||
- name: osx_static_cmake | ||
uses: tarantool/tarantool/.github/workflows/osx_static_cmake.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-out_of_source: | ||
needs: test-luajit | ||
steps: | ||
- name: out_of_source | ||
uses: tarantool/tarantool/.github/workflows/out_of_source.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-packaging: | ||
needs: test-luajit | ||
steps: | ||
- name: packaging | ||
uses: tarantool/tarantool/.github/workflows/packaging.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-perf_micro: | ||
needs: test-luajit | ||
steps: | ||
- name: perf_micro | ||
uses: tarantool/tarantool/.github/workflows/perf_micro.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-release: | ||
needs: test-luajit | ||
steps: | ||
- name: release | ||
uses: tarantool/tarantool/.github/workflows/release.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-release_asan_clang: | ||
needs: test-luajit | ||
steps: | ||
- name: release_asan_clang | ||
uses: tarantool/tarantool/.github/workflows/release_asan_clang.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-release_clang: | ||
needs: test-luajit | ||
steps: | ||
- name: release_clang | ||
uses: tarantool/tarantool/.github/workflows/release_clang.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-release_lto: | ||
needs: test-luajit | ||
steps: | ||
- name: release_lto | ||
uses: tarantool/tarantool/.github/workflows/release_lto.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-release_lto_clang: | ||
needs: test-luajit | ||
steps: | ||
- name: release_lto_clang | ||
uses: tarantool/tarantool/.github/workflows/release_lto_clang.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-static_build: | ||
needs: test-luajit | ||
steps: | ||
- name: static_build | ||
uses: tarantool/tarantool/.github/workflows/static_build.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} | ||
test-tarantool-static_build_cmake_linux: | ||
needs: test-luajit | ||
steps: | ||
- name: static_build_cmake_linux | ||
uses: tarantool/tarantool/.github/workflows/static_build_cmake_linux.yml@master | ||
with: | ||
submodule: luajit | ||
revision: ${{ github.sha }} |