Skip to content
Snippets Groups Projects
  1. Oct 11, 2024
    • Alexander Turenko's avatar
      ci: fix Coverity workflow · fc613299
      Alexander Turenko authored
      It doesn't work since 2023-11-18. The uploading succeeds, but the
      website says:
      
      > The Coverity Build tool version is no longer supported. Please
      > download the latest version for your platform from
      > https://scan.coverity.com/download...
      
      It seems, some specific toolset is installed in the
      `tarantool/testing:debian-buster` image and it was deprecated 11 months
      ago.
      
      Recently the CI workflow starts to fail due to use of the old image with
      an old CMake in it:
      
      > [  2%] Performing configure step for 'bundled-nanoarrow-project'
      > -- Building using CMake version: 3.13.4
      > -- Configuring incomplete, errors occurred!
      > CMake Error at CMakeLists.txt:19 (cmake_minimum_required):
      >   CMake 3.14 or higher is required.  You are running version 3.13.4
      
      It is likely due to commit 49c160c28c97 ("third_party: initial import of
      nanoarrow").
      
      Here I refine the workflow file:
      
      * Get rid of the custom docker image with preinstalled Coverity toolset.
      * Use a nice unofficial-coverity-scan GitHub Action ([1]).
      * Add the `libreadline-dev` dependency installation, because it is
        needed to build tarantool on Ubuntu 24.04.
      * Drop related `.test.mk` rules, because it looks more readable to
        invoke a few commands from the workflow file directly.
      * Drop testing artifacts uploading that seems a copy-paste from some
        workflow that runs the tests and the given directory unlikely has any
        file in our case.
      * Drop unused step that adds a comment to the pull request.
      
      And things seems to start working. At least, after a testing run of the
      workflow now I see the following status on the website:
      
      > Last Build Status: Running. Your build is currently being analyzed
      
      [1]: https://github.com/marketplace/actions/unofficial-coverity-scan
      
      See also #10651.
      
      NO_DOC=developer tools
      NO_CHANGELOG=see NO_DOC
      NO_TEST=see NO_DOC
      
      (cherry picked from commit f5daacfac84fbea3bb67991fa71ea4e789184ec8)
      fc613299
  2. Sep 30, 2024
    • Alexander Turenko's avatar
      ci: fix module API publish job (again) · ca1e0dee
      Alexander Turenko authored
      The new version of the publishing action leads to the following error:
      
      NOWRAP
      ```
      Error: File not found: '/home/runner/work/_actions/JamesIves/github-pages-deploy-action/v4.6.6/lib/main.js'
      ```
      NOWRAP
      
      Let's revert it to v4.6.4 (because v4.6.5 change was reverted in v4.6.6).
      
      See also https://github.com/JamesIves/github-pages-deploy-action/issues/1697
      
      NO_DOC=no code changes
      NO_CHANGELOG=see NO_DOC
      NO_TEST=see NO_DOC
      
      (cherry picked from commit 7cf41a1bb9b3f0a2eac82c296a764688f5d8b35c)
      ca1e0dee
    • Alexander Turenko's avatar
      ci: fix module API build/publish job · 57816db8
      Alexander Turenko authored
      The `ubuntu-latest` image is now `ubuntu-24.04`, see [1]. The job fails
      on this image with the following error:
      
      NOWRAP
      ```
      CMake Error at /usr/local/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
        Could NOT find Readline (missing: READLINE_INCLUDE_DIR READLINE_LIBRARY)
      ```
      NOWRAP
      
      It seems, the libreadline-dev package is missing. Let's install it.
      
      Also, update a version of the publishing action to the latest at the
      moment. I didn't perform any check, but I guess that a new version of
      NodeJS is needed and the latest action version has better support of it.
      
      [1]: https://github.blog/changelog/2024-09-25-actions-new-images-and-ubuntu-latest-changes/
      
      NO_DOC=no code changes
      NO_CHANGELOG=see NO_DOC
      NO_TEST=see NO_DOC
      
      (cherry picked from commit 3e09e9f293925195ddebb13a4fcfd64762e52b89)
      57816db8
  3. Jun 20, 2024
    • Nikolay Shirokovskiy's avatar
      ci: add workflow to check downgrade versions · 4ab1dcfd
      Nikolay Shirokovskiy authored
      Tarantool has hardcoded list of versions it can downgrade to. This list
      should consist of all the released versions less than Tarantool version.
      This workflow helps to make sure we update the list before release.
      
      It is run on pushing release tag to the repo, checks the list and fails
      if it misses some released version less than current. In this case we
      are supposed to update downgrade list (with required downgrade code) and
      update the release tag.
      
      Closes #8319
      
      NO_TEST=ci
      NO_CHANGELOG=ci
      NO_DOC=ci
      
      (cherry picked from commit 6d856347)
      4ab1dcfd
  4. Jun 13, 2024
    • Serge Petrenko's avatar
      ci: followup fix RPM package builds on aarch64 runners · 74223a2d
      Serge Petrenko authored
      Commit 715abaaf ("ci: fix RPM package builds on aarch64 runners")
      has limited number of parallel jobs to 6 on these runners to fix the
      OOM, but it turns out this isn't enough: almalinux_9_aarch64 workflow
      fails constantly even with this setting. Let's try to reduce the amount
      of jobs to 4.
      
      NO_CHANGELOG=ci
      NO_TEST=ci
      NO_DOC=ci
      74223a2d
    • Nikolay Shirokovskiy's avatar
      ci: add a workflow to check for entrypoint tags · 426bff55
      Nikolay Shirokovskiy authored
      Check check-entrypoint.sh comment for explanation of what entrypoint tag
      is. The workflow fails if current branch does not have a most recent
      entrypoint tag that it should have.
      
      Part of #8319
      
      NO_TEST=ci
      NO_CHANGELOG=ci
      NO_DOC=ci
      
      (cherry picked from commit c06d0d14)
      426bff55
  5. Jun 10, 2024
    • Yaroslav Lobankov's avatar
      ci: fix RPM package builds on aarch64 runners · 715abaaf
      Yaroslav Lobankov authored
      We're using LXD containers as aarch64 runners. For some reason, OOM
      killer just kills the compilation process while package building when
      `make -j $(nproc)`. The issue happens only with builds where LTO is
      enabled. It's found, that `-j6` works fine. The bigger value causes
      problems.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      715abaaf
    • Yaroslav Lobankov's avatar
      ci: disable workaround for LuaJIT profiling tests on aarch64 runners · 307e3377
      Yaroslav Lobankov authored
      Disable workaround for LuaJIT profiling tests on aarch64 runners due to
      the following error:
      
          mount: /tmp/luajit-test-vardir: mount failed: Operation not permitted
      
      Looks like it happens because our aarch64 runners are LXD containers.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit e64457d9)
      307e3377
  6. May 30, 2024
  7. Apr 25, 2024
    • Sergey Vorontsov's avatar
      ci: add timeouts for workflow jobs · b30a5ad8
      Sergey Vorontsov authored
      By default, each job in a workflow can run for up to 6 hours of the
      execution time. If a job reaches this limit, the job is terminated by
      GitHub automatically and fails to complete. This patch sets job timeouts
      to 60 minutes to avoid waiting for jobs to complete for 6 hours.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      b30a5ad8
  8. Mar 29, 2024
  9. Mar 14, 2024
  10. Mar 13, 2024
    • Maxim Kokryashkin's avatar
      ci: fix integration concurrency group · ced7c62b
      Maxim Kokryashkin authored
      In commit 13ac5daf ("ci: fix step parameters for reusable
      runs") the integration workflow was made reusable, but
      concurrency group pattern modification that was done for other
      workflows made reusable in the same patch was forgotten. This
      patch fixes the mentioned issue.
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      ced7c62b
  11. Mar 01, 2024
  12. Feb 29, 2024
    • Maksim Kokryashkin's avatar
      ci: fix step parameters for reusable runs · 13ac5daf
      Maksim Kokryashkin authored
      This patch fixes three issues:
      1. It changes the condition for workflows so they can be run not
      only from the Tarantool repository but from any repository in the
      Tarantool organization.
      
      2. Reusable workflows substitute the `${{ github.workflow }}`
      context variable with the name of their top-level workflow. This
      behavior causes concurrency group clashes when several reusable
      workflows are called from a single top-level workflow. This patch
      adds an additional constant part to the concurrency group pattern
      to solve the issue.
      
      3. The checkout actions use the reference from the repository in
      which the top-level workflow is located instead of the one where
      the reusable workflow is located. This patch solves the issue by
      passing the reference explicitly.
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      13ac5daf
    • Maksim Kokryashkin's avatar
      ci: disable the reusable run for some workflows · d2c27a66
      Maksim Kokryashkin authored
      Some workflows are not relevant for integration testing.
      This patch disables them.
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      d2c27a66
  13. Feb 16, 2024
    • Oleg Chaplashkin's avatar
      ci: add Fedora 39 · 9dc3490f
      Oleg Chaplashkin authored
      Add the fedora_39.yml and fedora_39_aarch64.yml workflow files to build
      Tarantool packages for x86_64 and aarch64 platforms.
      
      Closes #9705
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      9dc3490f
    • Oleg Chaplashkin's avatar
      ci: add AlmaLinux 9 · 62eb51c3
      Oleg Chaplashkin authored
      Add the almalinux_9.yml and almalinux_9_aarch64.yml workflow files to
      build Tarantool packages for x86_64 and aarch64 platforms.
      
      Closes #9434
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      62eb51c3
    • Oleg Chaplashkin's avatar
      ci: add AlmaLinux 8 · c1808527
      Oleg Chaplashkin authored
      Add the almalinux_8.yml and almalinux_8_aarch64.yml workflow files to
      build Tarantool packages for x86_64 and aarch64 platforms.
      
      Closes #9706
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      c1808527
    • Yaroslav Lobankov's avatar
      ci: bump Python to 3.9 at `install-deps-freebsd` · 5e6059c3
      Yaroslav Lobankov authored
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit d756931d)
      5e6059c3
  14. Jan 29, 2024
    • Yaroslav Lobankov's avatar
      ci: update matrix strategy for osx testing · 5fa2d0aa
      Yaroslav Lobankov authored
      It has been decided to have only release and debug builds for testing
      on two latest macOS versions (at this momemnt, 13 and 14). Static and
      LTO builds are dropped.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 47940311)
      5fa2d0aa
  15. Jan 25, 2024
    • Yaroslav Lobankov's avatar
      ci: fix job name in freebsd failure report · 63af960f
      Yaroslav Lobankov authored
      The ChristopherHX/github-act-runner agent evaluates expression
      `join(matrix.*, ', ')` to `Object` instead of `a, b, c`. So let's
      have the facility to specify the job name manually to avoid the issue.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 4007552a)
      63af960f
  16. Jan 23, 2024
    • Yaroslav Lobankov's avatar
      ci: fix fail on artifact upload to S3 for freebsd · 6c7fc21c
      Yaroslav Lobankov authored
      This patch fixes the following issue:
      
          Error: Unable to retrieve job ID by provided job name
      
      The `${{ github.job }} (${{ join(matrix.*, ', ') }})` expression was
      evaluated to `freebsd (Object)` instead of proper job name. It looks
      like the ChristopherHX/github-act-runner agent has a bug somewhere.
      Now the job name is made manually to bypass the issue.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 9717c31f)
      6c7fc21c
  17. Jan 17, 2024
  18. Jan 11, 2024
    • Yaroslav Lobankov's avatar
      ci: drop testing for macOS 12, add for macOS 14 · cdd512f9
      Yaroslav Lobankov authored
      - Drop testing for macOS 12 since macOS 14 is available
      - Add testing for macOS 14
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 19f9786f)
      cdd512f9
    • Yaroslav Lobankov's avatar
      ci: rm workarounds from `install-deps-osx` action · d1898f2d
      Yaroslav Lobankov authored
      The issue [1] is closed, and it looks like the problem doesn't exist
      now. So removing the respective workaround from the action.
      
      Also, removing the workaround with upgrading packages as it is not
      needed anymore because now `brew` just gives a warning instead of
      failing when the package is already installed.
      
      [1] https://github.com/gevent/gevent/issues/1721
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 3142fb66)
      d1898f2d
    • Yaroslav Lobankov's avatar
      ci: ignore fail on artifact upload to S3 for osx · ec4edf9a
      Yaroslav Lobankov authored
      From time to time, the step to upload job artifacts to S3 fails due to
      the following error:
      
          Error: Unable to retrieve job ID by provided job name
      
      It happens in the `s3-upload-artifact` action that tries to get job ID
      by the name via the `get-job-id` action. Job ID is needed to compose the
      proper artifact name. `get-job-id` performs a request to GitHub for the
      list of workflow jobs and finds the job by its name and then gets its
      ID.
      
      For some reason, sometimes GitHub doesn't give the complete job list and
      there is no chance to find the job and get its ID. At least, it has been
      noticed for the osx.yml workflow with 36 parallel jobs.
      
      It looks like the issue resides on the GitHub side and the simplest way
      to resolve this is to ignore the failure and not fail the whole workflow
      due to this GitHub bug.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 5137ea59)
      ec4edf9a
    • Yaroslav Lobankov's avatar
      ci: fix uploading build artifacts to S3 for freebsd · 20ae8e65
      Yaroslav Lobankov authored
      When the `freebsd` workflow has become a matrix one in 0bd15468
      ("ci: mv freebsd testing from per-commit to nightly"), we forgot
      to do the corresponding changes in the `Upload artifacts to S3` step.
      So adding missing changes.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 5fa3d5a2)
      20ae8e65
    • Yaroslav Lobankov's avatar
      ci: fix saving build artifacts for osx and freebsd · d7dde3fd
      Yaroslav Lobankov authored
      When `${{ matrix.tarantool-branch}}` is `release/3.0` or similar, the
      step to save build artifacts will fail with the following error:
      
          Error: Artifact name is not valid: osx-13-x86_64-release/3.0-debug.
          Contains the following character:  Forward slash /
      
      This commit fixes the issue.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      (cherry picked from commit 64363b43)
      d7dde3fd
  19. Dec 29, 2023
  20. Dec 22, 2023
    • Maksim Kokryashkin's avatar
      ci: fix action for submodule bump · f9ccb414
      Maksim Kokryashkin authored
      It turns out, GitHub actions don't allow `env` usage in their
      definition. This patch fixes this issue in submodule bump action
      by moving the environment definition into the executed shell
      script.
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      f9ccb414
    • Maksim Kokryashkin's avatar
      ci: add optional submodule bump step · e2f2db07
      Maksim Kokryashkin authored
      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
      e2f2db07
  21. 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
  22. 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
  23. 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
  24. Oct 03, 2023
Loading