Skip to content
Snippets Groups Projects
  1. Oct 31, 2022
  2. Oct 28, 2022
  3. Oct 19, 2022
    • Sergey Bronnokov's avatar
      ci: enable code coverage job in default ci · 66e388e8
      Sergey Bronnokov authored
      Information about test code coverage is useful on code review.
      This patch enables code coverage job in default ci.
      
      NO_CHANGELOG=not a user-visible change
      NO_DOC=not a user-visible change
      NO_TEST=ci
      66e388e8
  4. Oct 18, 2022
    • Yaroslav Lobankov's avatar
      ci: use `coveralls-lcov` instead of GitHub action · 761574e3
      Yaroslav Lobankov authored
      In PR #7791 the coverage stuff is slightly updated. The changes are
      related to excluding some directories where the coverage will not be
      calculated. The patch itself is straightforward enough, but I can see
      the problems with uploading the results to coveralls.io:
      
      NO_WRAP
          Using lcov file: ./coverage.info
          FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
      
          <--- Last few GCs --->
      
          [2683200:0x327c000]    27836 ms: Scavenge 2033.4 (2038.7) -> 2033.2 (2044.2) MB, 6.8 / 0.0 ms  (average mu = 0.258, current mu = 0.243) allocation failure
          [2683200:0x327c000]    27854 ms: Scavenge 2036.7 (2044.2) -> 2037.1 (2044.4) MB, 15.6 / 0.0 ms  (average mu = 0.258, current mu = 0.243) allocation failure
          [2683200:0x327c000]    27871 ms: Scavenge 2037.2 (2044.4) -> 2036.7 (2055.9) MB, 17.1 / 0.0 ms  (average mu = 0.258, current mu = 0.243) allocation failure
      
          <--- JS stacktrace --->
      
          ==== JS stack trace =========================================
      
              0: ExitFrame [pc: 0x140dc19]
          Security context: 0x2481918808d1 <JSObject>
              1: encode(aka encode) [0x23ec5e514a11] [/opt/actions-runner/_work/_actions/coverallsapp/github-action/v1.1.2/node_modules/qs/lib/utils.js:~118] [pc=0x193ecd3d5d82](this=0x35d34e4804b1 <undefined>,0x1e5895380119 <Very long string[60387428]>)
              2: stringify(aka stringify) [0x23ec5e5174c9] [/opt/actions-runner/_work/_actions/coverallsapp/github-action/v1.1.2/n...
      
           1: 0xa1a640 node::Abort() [/opt/actions-runner/externals/node12/bin/node]
           2: 0xa1aa4c node::OnFatalError(char const*, char const*) [/opt/actions-runner/externals/node12/bin/node]
           3: 0xb9a62e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/opt/actions-runner/externals/node12/bin/node]
           4: 0xb9a9a9 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/opt/actions-runner/externals/node12/bin/node]
           5: 0xd57c25  [/opt/actions-runner/externals/node12/bin/node]
           6: 0xd582b6 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/opt/actions-runner/externals/node12/bin/node]
           7: 0xd64b75 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/opt/actions-runner/externals/node12/bin/node]
           8: 0xd65a25 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/opt/actions-runner/externals/node12/bin/node]
           9: 0xd670cf v8::internal::Heap::HandleGCRequest() [/opt/actions-runner/externals/node12/bin/node]
          10: 0xd15b35 v8::internal::StackGuard::HandleInterrupts() [/opt/actions-runner/externals/node12/bin/node]
          11: 0x1071176 v8::internal::Runtime_StackGuard(int, unsigned long*, v8::internal::Isolate*) [/opt/actions-runner/externals/node12/bin/node]
          12: 0x140dc19  [/opt/actions-runner/externals/node12/bin/node]
      NO_WRAP
      
      I have tried to use the latest version of the action (1.1.3), but I have
      got the same issue.
      
      It looks like it is a `coverallsapp/github-action` issue due to issue
      in JavaScript due to inefficient amount of memory. The corresponding
      bug [1] was filed against the repo.
      
      So I suggest switching to the console utility `coveralls-lcov`. I did
      some internal testing and it works fine.
      
      [1] https://github.com/coverallsapp/github-action/issues/133
      
      Fixes tarantool/tarantool-qa#278
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      761574e3
  5. Oct 17, 2022
  6. Oct 07, 2022
  7. Oct 06, 2022
  8. Sep 06, 2022
  9. Aug 31, 2022
    • Alexander Turenko's avatar
      ci: make module.h generation command more specific · 9a3c49a5
      Alexander Turenko authored
      `make api` generates `src/module.h`. `make module_api` is the target for
      compiling a library for testing of the module API:
      `test/app-tap/module_api.so`. It depends on the `api` target.
      
      Both works for generating `module.h`, but `make api` don't do extra
      unneeded actions.
      
      NO_DOC=Not a user visible change.
      NO_TEST=It is CI workflow. It would be too strong to test each part of
              the testing/deployment infrastructure.
      NO_CHANGELOG=Not a user visible change.
      9a3c49a5
  10. Aug 26, 2022
  11. Aug 24, 2022
    • Sergey Bronnikov's avatar
      ci: cancel publishing workflow run when outdated · f76c600c
      Sergey Bronnikov authored
      See d3f32d18 for explanation.
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      f76c600c
    • Sergey Bronnikov's avatar
      ci: fix conditions in publishing workflow · 34a7f1ec
      Sergey Bronnikov authored
      Publishing workflow will run building module API documentation for
      opened or reopened pull request with label "full-ci" and will publish
      documentation on Github Pages on push to the master branch.
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      34a7f1ec
    • Nick Volynkin's avatar
      ci: report PRs from TarantoolBot to main chat · 8ebfa611
      Nick Volynkin authored
      Report workflow failures in PRs made by TarantoolBot to the same chat
      as with stable branches. Such PRs are used for automated integration
      testing, so it's important for the team to notice failures in them.
      There is no personal chat for TarantoolBot and no need to make one.
      
      NO_DOC=CI reporting
      NO_TEST=CI reporting
      NO_CHANGELOG=CI reporting
      8ebfa611
  12. Aug 23, 2022
    • Anna Balaeva's avatar
      ci: improve `report-job-status` action · b07d00a3
      Anna Balaeva authored
      This patch allows to call `report-job-status` action with only one
      input: `bot-token`. VK Teams chat ID has the default value in current
      action, API URL has the default value in [1].
      
      [1] `tarantool/actions/report-job-status`
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      b07d00a3
  13. Aug 22, 2022
  14. Aug 12, 2022
    • Yaroslav Lobankov's avatar
      ci: add workaround for LuaJIT profiling tests · 5f8cbfff
      Yaroslav Lobankov authored
      This patch adds a temporary workaround for LuaJIT profiling tests to
      avoid runners shutdown due to no space left on the disk. The profiling
      tests may produce profiles until fully fill up the runner [1].
      
      The workaround is based on implementing disk quotas.
      
      In two words, it creates a 1GB file (disk image), formats this file as
      an ext4 filesystem, mounts this filesystem to some mount pont and sets
      `LUAJIT_TEST_VARDIR=<mount point>`. In this case LuaJIT tests will use
      this dir for storing various test data/profiles and not be able to fill
      up the runner.
      
      [1] https://github.com/tarantool/tarantool/issues/7472
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      5f8cbfff
  15. Aug 10, 2022
    • Anna Balaeva's avatar
      ci: VK Teams instead of Telegram for notifications · f2d23b4e
      Anna Balaeva authored
      This patch introduces the new `report-job-status` action that is used
      for sending notifications to the VK Teams messenger on the job failure.
      It replaces the old `send-telegram-notify` action sending similar text
      notifications to the Telegram messenger.
      
      The new action selects the corresponding chat for the notification on
      failure and uses the `tarantool/actions/report-job-status` action [1]
      for sending it to:
      
      * the team chat (Tarantool CI/CD reports) - if the job started on any
        event in the master or release branch (1.10, 2.10, etc);
      
      * a personal chat (created by the committer) – if the job started on
        creating/updating a pull request or any event in other branches.
      
      [1] https://github.com/tarantool/actions/tree/master/report-job-status
      
      Resolves tarantool/tarantool-qa#258
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      f2d23b4e
    • Sergey Bronnikov's avatar
      ci: fix workflow with publishing doxygen documentation · f8208a5f
      Sergey Bronnikov authored
      - Fix checkout with submodules
      - Fix publish action version
      
      NO_CHANGELOG=ci
      NO_DOC=ci
      NO_TEST=ci
      f8208a5f
  16. Aug 09, 2022
  17. Aug 03, 2022
    • Yaroslav Lobankov's avatar
      ci: fix submodule bump for tarantool-ee 2.10 · 91595e31
      Yaroslav Lobankov authored
      This patch fixes the following issue: the submodule_update.yml workflow
      always updated the tarantool submodule in the tarantool-ee repo to the
      last commit from the `master` branch, even if it was tarantool-ee 2.10.
      Now it is fixed.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      91595e31
  18. Aug 02, 2022
  19. Jul 29, 2022
  20. Jul 27, 2022
  21. Jul 26, 2022
  22. Jul 22, 2022
  23. Jul 19, 2022
    • Yaroslav Lobankov's avatar
      ci: support parallel cmake build in `test-jepsen` · 58ea8b5e
      Yaroslav Lobankov authored
      In order to support parallel cmake build in the `test-jepsen` target
      we need to run Jepsen testing in a `debian-buster` container instead
      of `debian-stretch` due to the old `cmake` version in it. The `cmake`
      utility started to support `--parallel` option since 3.12 version [1].
      
      In Debian Stretch `cmake` has version 3.7.
      In Debian Buster `cmake` has version 3.13.
      
      [1] https://cmake.org/cmake/help/latest/release/3.12.html#command-line
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      58ea8b5e
    • Yaroslav Lobankov's avatar
      ci: rm old mentions about .travis.mk in comments · 78a04083
      Yaroslav Lobankov authored
      A note for the `.gitlab.mk` makefile:
      
      Mentions about `.travis.mk` in `.gitlab.mk` file will be removed in
      the scope of refactoring it later.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      78a04083
    • Yaroslav Lobankov's avatar
      ci: use targets from .test.mk in workflows · 95b4dd07
      Yaroslav Lobankov authored
      A note for arm64 OSX workflows:
      
      The `arch -arm64` command prior to calling the makefile was omitted
      because now the GitHub Actions agent has a build for arm64 machines.
      Hence the agent is able to run without Rosetta 2 binary translator.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      95b4dd07
    • Yaroslav Lobankov's avatar
      ci: add actions with installing build/test deps · 0dbdd420
      Yaroslav Lobankov authored
      This patch adds actions with installing deps for Debian, FreeBSD, and
      OSX operation systems. Also, it adds an action with installing deps for
      Jepsen testing. Debian, FreeBSD, and OSX actions should be used before
      running tests on the corresponding operation systems. Jepsen action
      should be used before running Jepsen tests.
      
      Reasoning:
      
      1. The makefile w/o targets with deps installation is OS-independent.
         It should work on all systems.
      
      2. Deps installation is more about env preparation rather than building
         and testing. Moreover, it is OS-dependent. So it's logical to take it
         outside the makefile into a GitHub action.
      
      3. If we need testing on other operation systems, for example, CentOS,
         we will just create a special action with deps installation for that.
         No changes for the makefile will be needed. All should work out of
         the box.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      0dbdd420
  24. Jul 01, 2022
  25. Jun 21, 2022
    • Igor Munkin's avatar
      ci: add workflow for LuaJIT integration tests · 7f595759
      Igor Munkin authored
      
      This patch introduces reusable workflow used by integration testing
      machinery run within tarantool/luajit repository.
      
      For the first attempt GitHub action has been used, but its fetch (or
      more precisely unpack) phase fails due to test/test-run.py symlink into
      test-run submodule (the action being used doesn't fetch it while packing
      tarantool repository). As the alternative for removing this symlink, it
      was decided to use reusable workflows despite its known limitations
      (e.g. inability to use the testing matrix) until the issue with symlink
      is resolved in any possible way.
      
      As an alternate way, a common action to be used in all submodules for
      integration testing can be added to tarantool/actions repository.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      Reviewed-by: default avatarYaroslav Lobankov <y.lobankov@tarantool.org>
      Reviewed-by: default avatarSergey Bronnikov <sergeyb@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      7f595759
  26. Jun 01, 2022
Loading