Skip to content
Snippets Groups Projects
  1. Nov 28, 2023
    • Sergey Vorontsov's avatar
      ci: remove using Docker container in source.yml · 996025c5
      Sergey Vorontsov authored
      In this commit, we're fixing a problem with Docker in the workflow
      `.github/workflows/source.yml`.
      
      The mentioned workflow uses the `.github/actions/environment` action
      that needs a permission to make a loopback device for [1]. We didn't
      allow for that before due to missing container args, and it caused the
      following error:
      
      ```
      umount: /tmp/luajit-test-vardir: must be superuser to unmount.
      256000+0 records in
      256000+0 records out
      1048576000 bytes (1.0 GB, 1000 MiB) copied, 1.36702 s, 767 MB/s
      mount: /tmp/luajit-test-vardir: mount failed: Operation not permitted.
      Error: Process completed with exit code 1.
      ```
      
      The problem started since commit af996bbb ("ci: dockerize
      linux workflows"). The simplest way to fix the issue is not to run
      the workflow inside a Docker container because a tarball with the
      source code is created via the `./packpack/packpack tarball` command
      that runs a Docker container as well.
      
      [1] https://github.com/tarantool/tarantool/issues/7472
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 09ad57f4)
      996025c5
    • Sergey Vorontsov's avatar
      ci: dockerize linux workflows · a9db25ae
      Sergey Vorontsov authored
      Modify Linux workflows for running jobs inside Docker containers. It
      helps isolate the building and testing environment from the runner's
      system and other workflows.
      
      Closes tarantool/tarantool-qa#327
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit af996bbb)
      a9db25ae
  2. Nov 23, 2023
    • Sergey Vorontsov's avatar
      ci: use GitHub-hosted runner to upload sources · e296e312
      Sergey Vorontsov authored
      In the `.github/workflows/source.yml` workflow for preparing a tarball
      with the source code, a PackPack Docker container is already used. For
      uploading the tarball to the repo, the `aws` utility is used, which is
      installed before. To skip installation of additional packages on the
      self-hosted runners, we are moving to the GitHub-hosted runners, which
      already have the `aws` utility installed. Step `Prepare checkout` is
      removed because the GitHub-hosted runner is an ephemeral environment.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 3ee68d8b)
      e296e312
  3. Oct 10, 2023
    • Nikolay Shirokovskiy's avatar
      ci: add debug_asan_clang workflow · 7b67f9be
      Nikolay Shirokovskiy authored
      Similarly to release_asan_clang but to test debug build. It is also run
      only under `asan-ci` and `full-ci` labels.
      
      Fiber stack size is 2 times bigger than in the release workflow for luajit
      tests to pass. Note that this factor is a wild guess.
      
      Part of #7327
      
      NO_TEST=ci
      NO_CHANGELOG=ci
      NO_DOC=ci
      
      (cherry picked from commit 980ad3f4)
      7b67f9be
  4. Oct 03, 2023
    • Nikolay Shirokovskiy's avatar
      ci: run asan workflow on 'asan-ci' label · 17b3ecd5
      Nikolay Shirokovskiy authored
      It is convenient to have a label to run ASAN CI without running full CI.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit c0025ffb)
      17b3ecd5
    • Sergey Bronnikov's avatar
      ci: run performance tests · 29211065
      Sergey Bronnikov authored
      Performance tests added to perf directory are not automated and
      currently we run these tests manually from time to time. From other side
      source code that used rarely could lead to software rot [1].
      
      The patch adds CMake target "test-perf" and GitHub workflow, that runs
      these tests in CI. Workflow is based on workflow release.yml, it builds
      performance tests and runs them.
      
      1. https://en.wikipedia.org/wiki/Software_rot
      
      NO_CHANGELOG=testing
      NO_DOC=testing
      NO_TEST=testing
      
      (cherry picked from commit 5edcb712)
      29211065
  5. Oct 02, 2023
    • Yaroslav Lobankov's avatar
      ci/cd: add Fedora 38 · c9be74ce
      Yaroslav Lobankov authored
      Add the fedora_38.yml and fedora_38_aarch64.yml workflow files to build
      Tarantool packages for x86_64 and aarch64 platforms.
      
      Closes tarantool/tarantool#9203
      
      NO_DOC=ci/cd
      NO_TEST=ci/cd
      NO_CHANGELOG=ci/cd
      c9be74ce
    • Yaroslav Lobankov's avatar
      ci/cd: add Fedora 37 · 90733a31
      Yaroslav Lobankov authored
      Add the fedora_37.yml and fedora_37_aarch64.yml workflow files to build
      Tarantool packages for x86_64 and aarch64 platforms.
      
      Closes tarantool/tarantool#9204
      
      NO_DOC=ci/cd
      NO_TEST=ci/cd
      NO_CHANGELOG=ci/cd
      90733a31
    • Yaroslav Lobankov's avatar
      ci/cd: add Debian 12 · 07b4cff2
      Yaroslav Lobankov authored
      Add the debian_12.yml and debian_12_aarch64.yml workflow files to build
      Tarantool packages for x86_64 and aarch64 platforms.
      
      Closes tarantool/tarantool#9205
      
      NO_DOC=ci/cd
      NO_TEST=ci/cd
      NO_CHANGELOG=ci/cd
      07b4cff2
  6. Sep 15, 2023
    • Yaroslav Lobankov's avatar
      ci: convert shallow submodules to complete ones · 5f34d2a1
      Yaroslav Lobankov authored
      This patch is intended to resolve the following issue that appears while
      calling `cmake` for submodules from time to time:
      
          fatal: No tags can describe '<sha>'.
          Try --always, or create some tags.
      
      This happens because the `actions/checkout` GitHub action fetches the
      repository with the `--unshallow` option, but it doesn't do the same for
      submodules. So this leads to the error above while using `git describe`
      for submodules.
      
      This is fixed by converting a shallow submodule to a complete one.
      
      NO_DOC=ci
      NO_TEST=circuit
      NO_CHANGELOG=ci
      
      (cherry picked from commit 5be8268a)
      5f34d2a1
  7. Aug 30, 2023
  8. Aug 25, 2023
    • Sergey Bronnikov's avatar
      ci: fix an error in workflow · a3600f5e
      Sergey Bronnikov authored
      Commit f14cb97d ("ci: update paths in a fuzzing workflow") breaks
      fuzzing workflow because one may only define one of `paths` and
      `paths-ignore` for a single event. The patch fixes that.
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      
      (cherry picked from commit a6eeec3c)
      a3600f5e
  9. Aug 24, 2023
    • Sergey Bronnikov's avatar
      ci: update paths in a publish module api doc workflow · 1d53fda6
      Sergey Bronnikov authored
      Module API documentation is described in Doxygen comments in C/C++ files
      in src/ directory. No sense to run this job for other changes. The patch
      changes paths in workflow accordingly.
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      
      (cherry picked from commit 9af36ae1)
      1d53fda6
    • Sergey Bronnikov's avatar
      ci: update paths in a fuzzing workflow · 7da94b5c
      Sergey Bronnikov authored
      Fuzzing is a heavyweight job, we can reduce a set of paths used for
      triggering this job and therefore reduce an overall time of testing in
      some cases.
      
      The patch replaces `.github/workflows/**` to
      `.github/workflows/fuzzing.yml` because workflows are independent and
      changes in other workflows does not affect fuzzing at all and patch adds
      Lua files (`**.lua`) to ignores because fuzzing focused on C/C++ code.
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      
      (cherry picked from commit f14cb97d)
      7da94b5c
  10. Aug 22, 2023
  11. Aug 08, 2023
    • Yaroslav Lobankov's avatar
      ci: bump Clang version to 16 in release build LTO testing · 8a42c785
      Yaroslav Lobankov authored
      Run release build LTO testing inside a Docker container created from the
      `tarantool/testing:ubuntu-jammy-clang16` image with Clang 16 installed.
      
      Closes #318
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 9d0cb54f)
      8a42c785
    • Yaroslav Lobankov's avatar
      ci: bump Clang version to 16 in release build testing · 4e347f55
      Yaroslav Lobankov authored
      Run release build testing inside a Docker container created from the
      `tarantool/testing:ubuntu-jammy-clang16` image with Clang 16 installed.
      
      Closes #317
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 9134dabd)
      4e347f55
    • Kirill Yukhin's avatar
      Add owners for /.test.mk and /.github · 31a74698
      Kirill Yukhin authored
      Add code owners for CI-related script and
      for github automation directory.
      
      NO_CHANGELOG=no code changes
      NO_TEST=no code changes
      NO_DOC=no code changes
      
      (cherry picked from commit 9234763a)
      31a74698
    • Kirill Yukhin's avatar
      Add owners for test/ and test-run/ · 32ff5a73
      Kirill Yukhin authored
      In order to improve tests of Tarantool core
      assign dedicated team to perform review of each
      and every change.
      
      NO_CHANGELOG=no code changes
      NO_TEST=no code changes
      NO_DOC=no code changes
      
      (cherry picked from commit 532bada7)
      32ff5a73
    • Kirill Yukhin's avatar
      Add CODEOWNERS file · 0beee753
      Kirill Yukhin authored
      To make changelog preparation less stressful let's pass each and every
      change to changelogs/ directly through the doc team.
      
      NO_CHANGELOG=no code changes
      NO_TEST=no code changes
      NO_DOC=no code changes
      
      (cherry picked from commit 2970bd57)
      0beee753
  12. Jun 19, 2023
    • Yaroslav Lobankov's avatar
      ci: extend default tests run with osx wokflows · c56e1835
      Yaroslav Lobankov authored
      It was decided to include the `osx_debug.yml` and `osx_release.yml`
      workflows to the default tests run (without the `full-ci` label).
      Now we can get test results for macOS faster and without an extra
      load on CI.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit de404cb0)
      c56e1835
  13. Jun 08, 2023
  14. Jun 07, 2023
    • Yaroslav Lobankov's avatar
      ci: fix README.md in report-job-status action · eb5970d2
      Yaroslav Lobankov authored
      README.md in the `report-job-status` action was fixed in accordance
      with the new name policy for supported branches (2.10 -> release/2.10,
      2.11 -> release/2.11).
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit fa33c5e5)
      eb5970d2
    • Yaroslav Lobankov's avatar
      ci: fix condition for S3 upload artifact step · c11adad5
      Yaroslav Lobankov authored
      The condition for uploading test artifact to S3 was fixed in accordance
      with the new name policy for supported branches (2.10 -> release/2.10,
      2.11 -> release/2.11).
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 76c79e4e)
      c11adad5
    • Yaroslav Lobankov's avatar
      ci: fix cuncurrency condition in all workflows · fd1655d7
      Yaroslav Lobankov authored
      The condition for workflow concurrency was fixed in accordance with
      the new name policy for supported branches (2.10 -> release/2.10,
      2.11 -> release/2.11).
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 0c117197)
      fd1655d7
    • Yaroslav Lobankov's avatar
      ci: fix trigger in submodule_update.yml workflow · d62de5e4
      Yaroslav Lobankov authored
      The push trigger in the submodule_update.yml workflow was fixed
      in accordance with the new name policy for supported branches
      (2.10 -> release/2.10, 2.11 -> release/2.11).
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 9518f322)
      d62de5e4
    • Yaroslav Lobankov's avatar
      ci: delete irrelevant trigger from all workflows · ce451499
      Yaroslav Lobankov authored
      The push trigger for branches matching to the `[0-9].[0-9]+` pattern
      was removed due to changing the name policy for supported branches
      (2.10 -> release/2.10, 2.11 -> release/2.11).
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit ba0a9f07)
      ce451499
    • Yaroslav Lobankov's avatar
      ci: prettify publish-module-api-doc.yml workflow · 9a7deab7
      Yaroslav Lobankov authored
      - Rename the workflow into `publish-module-api-doc` to be consistent
        with other workflow names.
      - Refactor workflow triggers.
      - Run the workflow only on push to the tarantool/tarantool repository
        or on pull request if the 'notest' label is not set.
      - Simplify condition for publishing generated API documentation.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit c9e0074d)
      9a7deab7
    • Sergey Bronnikov's avatar
      ci: build doxygen doc without full-ci label · a6207837
      Sergey Bronnikov authored
      Follows up #8194
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      
      (cherry picked from commit 07d686dc)
      a6207837
    • Yaroslav Lobankov's avatar
      ci: use workaround for LuaJIT profiling tests in all workflows · 29c9598a
      Yaroslav Lobankov authored
      After this patch, the workaround for LuaJIT profiling tests to
      avoid runner's shutdown due to no space left on the disk is going
      to be used in all relevant workflows. Previously, we applied it
      only for the coverage test, but we noticed that other jobs may be
      affected as well after tarantool/tarantool#8737 is merged.
      
      Follows up tarantool/tarantool#7472
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit b41fc204)
      29c9598a
  15. Apr 13, 2023
  16. Apr 12, 2023
    • Yaroslav Lobankov's avatar
      ci: reduce testing for macOS 12 · e692b025
      Yaroslav Lobankov authored
      We have the limited hardware resources with macOS 12, and full testing
      is time-consuming. So let's check only the release build on the x86_64
      platform.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 2f1ae906)
      e692b025
  17. Apr 05, 2023
    • Yaroslav Lobankov's avatar
      ci: fix saving artifacts to S3 for FreeBSD · c754f4aa
      Yaroslav Lobankov authored
      * Add an extra step that should be considered as a workaround for the
        runner agent (ChristopherHX/github-act-runner) that is used on FreeBSD
        machines. Without it, env.ARTIFACT_EXISTS will be undefined for some
        reason.
      
      * In the s3-upload-artifact action change `if: env.ARTIFACT_EXISTS` to
        `if: env.ARTIFACT_EXISTS == 'true'` to be compatible with the FreeBSD
        runner agent.
      
      Follows up tarantool/multivac#116
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 561c4f16)
      c754f4aa
  18. Apr 03, 2023
  19. Mar 06, 2023
Loading