Skip to content
Snippets Groups Projects
  1. Mar 06, 2023
  2. Mar 03, 2023
  3. Feb 10, 2023
    • Yaroslav Lobankov's avatar
      ci: add more testing for macOS 12 and 13 · a13504d8
      Yaroslav Lobankov authored
      - Drop testing for macOS 11 since macOS 13 is now available
      
      - Add missing testing for macOS 12:
        - debug build (x86_64)
        - debug, release, and static-cmake builds (aarch64)
      
      - Add testing for macOS 13:
        - debug, release, release-lto, and static-cmake builds (x86_64)
        - debug, release, release-lto, and static-cmake builds (aarch64)
      
      Closes #6739
      Closes tarantool/tarantool-qa#301
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      a13504d8
    • Vladimir Davydov's avatar
      ci: run static-build workflows on 'static-build-ci' label · 09a77cd7
      Vladimir Davydov authored
      Sometimes, we only need to test static-build, e.g. when we apply a patch
      to a third party sub-project. Let's introduce a new label to run the ci
      checks faster in this case.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      09a77cd7
  4. Jan 30, 2023
  5. Jan 26, 2023
  6. Jan 24, 2023
  7. Jan 18, 2023
    • Igor Munkin's avatar
      ci: use CMAKE_EXTRA_PARAMS in LuaJIT workflow · 7c5cc681
      Igor Munkin authored
      
      As a result of the commit 98fcd437 ("ci:
      add CMAKE_EXTRA_PARAMS to LuaJIT workflow") both <inputs.buildtype> and
      <inputs.GC64> parameters have become obsolete. All jobs with LuaJIT
      integration testing has started to use these in scope of the commit
      tarantool/luajit@5b53850da30e532ced976e95af1f301667a6a272 ("ci: use
      CMAKE_EXTRA_PARAMS in LuaJIT integration"). Hence, the value of
      <inputs.CMAKE_EXTRA_PARAMS> has to be used to specify the build flavor,
      so <inputs.buildtype> and <inputs.GC64> can be dropped later.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      Reviewed-by: default avatarYaroslav Lobankov <y.lobankov@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      7c5cc681
    • Igor Munkin's avatar
      ci: remove host parameter from LuaJIT testing · fdf45222
      Igor Munkin authored
      
      As a result of the commit 1eb0a696 ("ci:
      change runner dispatch for LuaJIT testing") <inputs.host> parameter has
      become obsolete. The testing workflow has been updated in scope of the
      commit tarantool/luajit@fcaecf8fb42ff8a35582fbd8d034eb6f3b9b5b68 ("ci:
      use strategy matrix for integration workflow"). Hence, the only changes
      required to finish the transition from <inputs.host> to <inputs.arch> +
      <inputs.os> are the following:
      * Drop <inputs.host> parameter from the LuaJIT integration workflow
      * Make both <inputs.arch> and <inputs.os> parameters obligatory
      
      Besides, there is no need to obtain the kernel name and the machine
      hardware name in scope of the separate workflow step, since all info
      need to be passed to .test.mk is already passed via workflow inputs.
      Anyway, .test.mk need to be adjusted to the values used for the new
      workflow parameters.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      Reviewed-by: default avatarYaroslav Lobankov <y.lobankov@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      fdf45222
  8. Jan 12, 2023
    • Igor Munkin's avatar
      ci: change runner dispatch for LuaJIT testing · 1eb0a696
      Igor Munkin authored
      
      Before the patch the LuaJIT integration workflow was dispatched to the
      runner with the name given via <inputs.host> parameter. Unfortunately,
      as a result of runners renaming we can't continue to dispatch the
      workflow this way.
      
      As a result of the patch there are two new workflow parameters:
      <inputs.arch> to pass the host architecture name (i.e. x86_64 or ARM64)
      and <inputs.os> to pass the OS family name (either Linux or macOS).
      Considering two values we can choose the proper runner in LuaJIT
      integration workflow. Besides, this change bring LuaJIT CI closer to
      matrix usage for its integration workflow.
      
      All three workflow parameters are not obligatory for now to avoid
      tarantool/luajit CI break on both long-term and working branches. When
      all branches are rebased on the new approach, <inputs.host> parameter
      will be removed and both <inputs.arch> and <inputs.os> will become
      obligatory.
      
      Moreover, the new 'regular' label is also added to <runs-on> list, since
      the new "lightweight" runners have been introduced to ghacts-shared-*
      pool. There are a couple of LuaJIT tests that requires more memory than
      provided by "lightweight" runners, so only "regular" ones need to be
      chosen for LuaJIT integration testing.
      
      Last but not least: attentive reader might notice there are strange
      values used as a default for <inputs.host> as well as <inputs.arch> and
      <inputs.os>. This is ugly hack required for the transition period, since
      one can't use empty string or unknown label name within <runs-on> label
      list. Hence 'self-hosted' looks like the most robust option for both old
      and new behaviours.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      Reviewed-by: default avatarYaroslav Lobankov <y.lobankov@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      1eb0a696
  9. Jan 10, 2023
    • Anna Balaeva's avatar
      ci: change macos runners labels · f991f7c0
      Anna Balaeva authored
      Change runner label 'macos-11' to 'macos-11-self-hosted' and 'macos-12'
      to 'macos-12-self-hosted' to distinguish between self-hosted and
      GitHub-hosted runners.
      We want to use only self-hosted macOS runners because of test-run problems
      with python3.11 on GitHub-hosted macOS runners.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      f991f7c0
  10. Dec 29, 2022
    • Yaroslav Lobankov's avatar
      ci: fix pull_request trigger for coverage workflow · 182034dc
      Yaroslav Lobankov authored
      The coverage workflow is a part of the default testing, so there is no
      sense to run this workflow when the 'full-ci' label is set. Moreover, it
      cancelled the run of the default testing and started the run of the full
      testing due to workflow `concurrency`.
      
      By default, a workflow only runs when a `pull_request` event's activity
      type is `opened`, `synchronize`, or `reopened`. That's why there is no
      sense in the following construction:
      
        pull_request:
          types: [ opened, reopened, synchronize ]
      
      So just removed the line related to event's activity type.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      182034dc
    • viacheslav.kirichenko's avatar
      ci: add integration testing for ddl and crud · 53f41130
      viacheslav.kirichenko authored
      Add workflow for integration testing of ddl
      and crud modules.
      
      Resolves tarantool/tarantool#6619
      Resolves tarantool/tarantool#6620
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      53f41130
  11. Dec 21, 2022
    • Nick Volynkin's avatar
      ci: test stable branches with SDK · 60a2ee11
      Nick Volynkin authored
      Workflow submodule_update now brings latest commits in stable branches
      further to tarantool/sdk, where integration tests can run with other
      enterprise products and modules.
      
      In tarantool/tarantool-ee a pull request is still opened, so the
      maintainers can merge it at any time.
      
      In tarantool/sdk the test branches are named in the following pattern:
      `TarantoolBot/test-ce-master`
      `TarantoolBot/test-ce-2.10`
      and so on. This pattern can be easily distinguished by workflows,
      which run integration tests and alert developers on failures.
      It is also consistent with branches with the same purpose of integration
      testing, that are created by the sdk_test workflow:
      `TarantoolBot/test-ce-{feature_branch_name}`
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      
      Resolves tarantool/sdk#355
      60a2ee11
    • Nick Volynkin's avatar
      ci: run submodule_update on lightweight runners · e4b79ca5
      Nick Volynkin authored
      The submodule_update workflow only works with git repositories and
      doesn't require computational power. It's mostly limited by the network
      throughput. So it makes sense to run this workflow on lightweight
      runners, labeled with `flavor-1-2` (that is, 1 CPU and 2Gb RAM).
      
      New runners have granular labels: `self-hosted`, OS, arch and flavor.
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      e4b79ca5
  12. Dec 13, 2022
    • Nick Volynkin's avatar
      ci: use actions/checkout@v3.1.0 with FreeBSD · a79d32b1
      Nick Volynkin authored
      ChristopherHX/github-act-runner@0.4.1, which we use on FreeBSD,
      is incompatible with newest actions/checkout@v3.2.0, aliased to @v3.
      Until this is resolved, FreeBSD workflows will use fixed version
      actions/checkout@v3.1.0.
      
      actions/checkout@v3.2.0 fails with an unclear error:
      
      > :star:  Run actions/checkout@v3
      >   :cloud:  git clone 'https://github.com/actions/checkout' # ref=v3
      > Error: Unable to resolve v3: unsupported object type
      > Error: Unable to resolve v3: unsupported object type
      > Error:   :x:  Failure - actions/checkout@v3
      > Error: unsupported object type
      
      NO_DOC=CI
      NO_TEST=CI
      NO_CHANGELOG=CI
      a79d32b1
  13. Dec 08, 2022
  14. Dec 06, 2022
  15. Nov 10, 2022
  16. Oct 31, 2022
  17. Oct 28, 2022
  18. 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
  19. 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
  20. Oct 17, 2022
  21. Oct 07, 2022
  22. Oct 06, 2022
  23. Sep 06, 2022
  24. 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
  25. Aug 26, 2022
  26. 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
  27. 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
Loading