Skip to content
Snippets Groups Projects
  1. Jun 16, 2022
  2. Mar 10, 2022
  3. Feb 15, 2022
    • Vladimir Davydov's avatar
      tools: gen-release-notes: python 2 fix · 0b272285
      Vladimir Davydov authored
       1. There's a non-ASCII character in a comment (’). Replase it with a
          plain comma ('). Fixes commit
          19be79e6 ("tools: gen-release-notes:
          adapt for enterprise").
       2. In Python 2 subprocess.Popen() doesn't support the 'with' clause.
          Do not use the 'with' clause. Fixes commit
          5715f194 ("tools: gen-release-notes:
          factor out popen helper")
      
      As a result CI fails. I wonder why it passed on the PR...
      
      Follow-up #6855
      
      NO_DOC=tools
      NO_CHANGELOG=tools
      0b272285
    • Vladimir Davydov's avatar
      tools: gen-release-notes: adapt for enterprise · 19be79e6
      Vladimir Davydov authored
      We're going to reuse the existing tools/gen-release-notes script for
      generation of Enterprise Edition (EE) changelogs. To do that, we need to
      
       1. Add 'enterprise' to the head of the sections list. The new section
          will be used by EE changelog entries. We want them to go before
          open-source changelog entries.
       2. Gather changelog entries from the 'changelog/unreleased' directory
          of the superproject directory. EE uses the open-source repository as
          its submodule.
      
      NO_DOC=tools
      NO_CHANGELOG=tools
      19be79e6
    • Vladimir Davydov's avatar
      tools: gen-release-notes: pass dir to changelog_entries · 606f06c0
      Vladimir Davydov authored
      So that we can gather changelog entries from more than one directory.
      
      NO_DOC=tools
      NO_CHANGELOG=tools
      606f06c0
    • Vladimir Davydov's avatar
      tools: gen-release-notes: factor out popen helper · 5715f194
      Vladimir Davydov authored
      We will use it for running other commands.
      
      NO_DOC=tools
      NO_CHANGELOG=tools
      5715f194
    • Vladimir Davydov's avatar
      tools: gen-release-notes: drop entries_dir_relative · 8e2123b3
      Vladimir Davydov authored
      Trivial refactoring that replaces source_dir and entries_dir_relative
      changelog_entries_sorted() arguments with entries_dir. Needed to make
      the following work easier.
      
      NO_DOC=tools
      NO_CHANGELOG=tools
      8e2123b3
  4. Jan 28, 2022
    • Vladimir Davydov's avatar
      ci: add workflow to check commits on pull request · 005fbb6b
      Vladimir Davydov authored
      This commit adds a new script, tools/check-commits. The script takes git
      revisions in the same format as git-rev-list (actually, it feeds all its
      arguments to git-rev-list) and runs some checks on each of the commits.
      
      For example, to check the head commit, run:
      
        ./tools/check-commits -1 HEAD
      
      To check the last five commits, run:
      
        ./tools/check-commits HEAD~5..HEAD
      
      Currently, there are only two checks, but in future we may add more
      checks, e.g. check diffs for trailing spaces:
       - The commit message contains a documentation request. Can be
         suppressed with NO_DOC=<reason> in the commit message.
       - A new changelog entry is added to changelog/unreleased by the commit.
         Can be suppressed with NO_CHANGELOG=<reason> in the commit message.
      
      This commit also adds a new workflow triggered on pull request,
      lint/commits. The workflow runs the tools/check-commits script on all
      the commits added by the pull request. The workflow doesn't run on push,
      because it's problematic to figure out what commits are new on a branch.
      Besides, we don't want to run it on push to release branches, because
      it's a pure dev workflow.
      
      Example output:
      
      Checking commit a33f3cc7 PASS
      Checking commit 6f29f9d7 FAIL
      SHA:     6f29f9d7
      SUBJECT: iproto: introduce graceful shutdown protocol
        ERROR:
          Changelog not found in changelog/unreleased. If this commit
          doesn't require changelog, please add NO_CHANGELOG=<reason>
          to the commit message.
      Checking commit fbc25aae FAIL
      SHA:     fbc25aae
      SUBJECT: Update small submodule
        ERROR:
          Missing documentation request ('@TarantoolBot document' not
          found in the commit message). If this commit doesn't need to
          be documented, please add NO_DOC=<reason> to the commit
          message.
        ERROR:
          Changelog not found in changelog/unreleased. If this commit
          doesn't require changelog, please add NO_CHANGELOG=<reason>
          to the commit message.
      
      NO_DOC=ci
      NO_CHANGELOG=ci
      005fbb6b
  5. Jan 13, 2022
    • Alexander Turenko's avatar
      gen-release-notes: group sections case insensitively · 50c83f74
      Alexander Turenko authored
      Now `## bugfix/luajit` and `## bugfix/LuaJIT` entries will form one
      section.
      50c83f74
    • Alexander Turenko's avatar
      gen-release-notes: prettify only lowercased headers · df5d69e6
      Alexander Turenko authored
      Now one can write either `## bugfix/luajit` or `## bugfix/LuaJIT`. The
      latter will NOT be transformed into `### Luajit` anymore. Both variants
      now give `### LuaJIT` section inside `## Bugs fixed` section.
      
      See `REDEFINITIONS` variable inside the script to understand how well
      known headers (such as `## <...>/LuaJIT`) are prettified.
      
      There is a problem with section grouping, when headers are written in
      lower/title/mixed case. It'll be resolved in a next commit.
      df5d69e6
    • Alexander Turenko's avatar
      gen-release-notes: handle no changelog entries · b9c022f2
      Alexander Turenko authored
      We run the script in CI as linter (see PR #6701), so it should handle
      lack of any changelog entries gracefully.
      b9c022f2
    • Alexander Turenko's avatar
      gen-release-notes: handle no features/no bugfixes · 8973b968
      Alexander Turenko authored
      Previously the script mistakely requires at least one feature and at
      least one bugfix. However it is quite natural to have only bugfixes in a
      bugfix release. Moreover, we added the script into CI as linter (see
      PR #6701), so it should work even when we just start filling release
      notes.
      8973b968
  6. Dec 06, 2021
    • Yaroslav Lobankov's avatar
      cd: use RWS instead of update_repo.sh script · 4689c95e
      Yaroslav Lobankov authored
      This patch introduces the use of RWS (repository web service) instead
      of old update_repo.sh script for uploading packages to S3 repositories.
      RWS fully replaces facilities of update_repo.sh + provides new features
      like support of uploading ARM packages. Also, it is very simple to use,
      just do `curl` to the RWS endpoint with some params and that's it.
      
      Closes #6482
      4689c95e
  7. Dec 03, 2021
    • Aleksandr Lyapunov's avatar
      tools: add a script that checks submodules' commits · 7fcaf4d0
      Aleksandr Lyapunov authored
      Sometimes to fix an issue we need to patch our submodule, update it
      in tarantool and then patch tarantool using changes in submodule.
      
      During development and review stages we have to create a branch (S)
      in submodule and a branch (T) in tarantool that references head of
      (S) branch.
      
      When the fix is merged to mater it's very simple to make a mistake:
      merge-and-push submodule's branch S and then tarantool's branch T.
      It sounds obvious, but that's wrong: tarantool's master should
      reference a commit from submodule's master, not a commit from
      temporary developer's branch.
      
      It's not hard to fix it but still a maintainer must always remember
      that problem. In order to simplify their life it was decided to
      create a script that is designed to check such thing before pushing
      tarantool to origin/master.
      
      Here is it, with simple usage:
      ./tools/check_push_master.sh && git push origin master
      7fcaf4d0
  8. Jul 19, 2021
  9. Jun 24, 2021
  10. Jun 18, 2021
  11. May 24, 2021
    • Sergey Bronnikov's avatar
      tools: fix script to run jepsen tests · 4fea6bf8
      Sergey Bronnikov authored
      Script used to run Jepsen tests uses Terraform to prepare test environment.
      When I made this script I had a wrong assumption about working directory
      used by Terraform. Due to this sometimes job with Jepsen tests
      failed on cleanup with message:
      
      ```
      Error: Could not load plugin
      
      Plugin reinitialization required. Please run "terraform init".
      
      Plugins are external binaries that Terraform uses to access and manipulate
      resources. The configuration provided requires plugins which can't be located,
      don't satisfy the version constraints, or are otherwise incompatible.
      
      Terraform automatically discovers provider requirements from your
      configuration, including providers used in child modules. To see the
      requirements and constraints, run "terraform providers".
      
      Failed to instantiate provider
      "registry.terraform.io/terraform-providers/openstack" to obtain schema:
      unknown provider "registry.terraform.io/terraform-providers/openstack"
      ```
      
      Terraform documentation describes how Terraform uses working directories [1]
      and there are at least to ways to resolve an issue. First one is using always
      one directory before running terraform subcommands. Second one is using option
      `-chdir` in all terraform commands [2].
      
      1. https://www.terraform.io/docs/cli/init/index.html
      2. https://www.terraform.io/docs/cli/commands/index.html#switching-working-directory-with-chdir
      
      Closes #6089
      4fea6bf8
  12. Apr 19, 2021
    • Igor Munkin's avatar
      tools: implement toolchain for crash artefacts · e733f08d
      Igor Munkin authored
      
      This patch introduces two scripts to ease crash artefacts collecting and
      loading for postmortem analysis:
      
      * tarabrt.sh - the tool collecting a tarball with the crash artefacts
        the right way: the coredump with the binary, all loaded shared libs,
        Tarantool version (this is a separate exercise to get it from the
        binary built with -O2). Besides, the tarball has a unified layout, so
        it can be easily processed with the second script:
        - /coredump - core dump file on the root level
        - /binary - tarantool executable on the root level
        - /version - plain text file on the root level with
          `tarantool --version` output
        - /checklist - plain text file on the root level with the list of the
          collected entities
        - /etc/os-release - the plain text file containing operating system
          identification data
        - all shared libraries used by the crashed instance - their layout
          respects the one on the host machine, so they can be easily loaded
          with the following gdb command: set sysroot $(realpath .)
      
        The script can be easily used either manually or via
        kernel.core_pattern variable.
      
      * gdb.sh - the auxiliary script originally written by @Totktonada, but
        needed to be adjusted to the crash artefacts layout every time. Since
        there is a unified layout, the original script is enhanced a bit to
        automatically load the coredump via gdb the right way.
      
      Closes #5569
      
      Reviewed-by: default avatarAlexander Turenko <alexander.turenko@tarantool.org>
      Reviewed-by: default avatarSergey Bronnikov <sergeyb@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      Unverified
      e733f08d
  13. Apr 08, 2021
    • Alexander V. Tikhonov's avatar
      github-ci: enable ubuntu-20.04 hosts for packaging · 431c043a
      Alexander V. Tikhonov authored
      Enabling ubuntu-20.04 hosts for packaging workflows found that DEB
      package Github Actions workflows do not need to install createrepo
      tool. Also found that createrepo is not ready for ubuntu-20.04 as
      described in (till ubuntu-21.04 where it is available as the new
      version of this tool named as 'createrepo_c' as DEB package):
      
        3a7c2102 ('github-ci: ubuntu-20.04 misses createrepo package')
      
      To fix it added 'createrepo_c' build and installation from sources
      and changed in update_repo tool 'createrepo' tool to 'createrepo_c'.
      This patch is needed to use these workflows on self-hosted runners
      which run under ubuntu-20.04 by default for now.
      
      Also checking the patch on ubuntu-20.04 hosts got the following issue:
      
        Regenerated DEB file: pool/xenial/main/t/tarantool/tarantool-common_2.8.0.185.g4c3e0eb-1_all.deb
      
        <botocore.awsrequest.AWSRequest object at 0x7f7998a4ca90>
      
        <botocore.awsrequest.AWSRequest object at 0x7f627d965070>
        make: *** [.gitlab.mk:131: deploy] Error 255
        Error: Process completed with exit code 2.
      
      Found that there is already issue exists in Github Actions on it [1].
      Provided solution to setup AWS region in environment helped to
      workaround the issue [2].
      
      Closes tarantool/tarantool-qa#110
      Closes tarantool/tarantool-qa#111
      
      [1]: https://github.com/aws/aws-cli/issues/5234
      [2]: https://github.com/aws/aws-cli/issues/5234#issuecomment-635459464
      431c043a
  14. Apr 07, 2021
  15. Mar 15, 2021
    • Sergey Bronnikov's avatar
      travis: switch to Python 3 version · 17040677
      Sergey Bronnikov authored
      - install python3 on mac machines
      - run test-run without specifying path to python interpreter
      - get rid our own tarantool brew-tap that depends on Python 2
      
      Part of #5652
      17040677
  16. Feb 18, 2021
    • Alexander V. Tikhonov's avatar
      jepsen: correct jepsen setup/run script · f2cdc3bc
      Alexander V. Tikhonov authored
      Found issues and resolved:
      
      - Added '$PROJECT_BINARY_DIR/build/' path creation before use.
      
      - Set always ssh-agent restart before add new SSH key, because
        found that in some situations it may fail to add w/o it.
      
      - Found mistake in TF_VAR_id variable setup, inverted ${CI_JOB_ID}
        variable check for it.
      
      Also made improvements in script:
      
      - Added all needed checks for all externally set mandatory variables.
      
      - Added usage message with the list of mandatory and optional variables.
      
      - Added comments to all script steps.
      
      - Added step with checking nodes that they are reachable by SSH.
      f2cdc3bc
  17. Feb 12, 2021
  18. Jan 25, 2021
  19. Dec 28, 2020
  20. Dec 24, 2020
    • Alexander V. Tikhonov's avatar
      update_repo: add Fedora 32 · 78c1de32
      Alexander V. Tikhonov authored
      It was added Fedora 32 gitlab-ci packaging job in commit:
        507c47f7a829581cc53ba3c4bd6a5191d088cdf ("gitlab-ci: add packaging for Fedora 32")
      
      but also it had to be enabled in update_repo tool to make able to save
      packages in S3 buckets.
      
      Follows up #4966
      78c1de32
  21. Nov 26, 2020
  22. Oct 30, 2020
    • Sergey Bronnikov's avatar
      gitlab-ci: enhance jobs with jepsen tests · 4ab0ddcc
      Sergey Bronnikov authored
      To run Jepsen tests in different configurations we need to parametrize run
      script by options, so lein options and number of nodes passed with environment
      variables. By default script runs testing with Tarantool built from latest
      commit.
      
      Added these configurations:
      
      - single instance
      - single instance with enabled TXM
      - cluster with enabled Raft
      - cluster with enabled Raft and TXM
      
      Closes #5437
      4ab0ddcc
  23. Sep 18, 2020
    • Sergey Bronnikov's avatar
      tools: add script to run Jepsen tests · 49bca315
      Sergey Bronnikov authored
      Main script that handle creation of set of virtual machines
      using Terraform, setup for remote connection, running
      Jepsen tests and teardown test environment.
      
      Part of #5277
      49bca315
  24. Aug 31, 2020
  25. Jul 14, 2020
  26. May 20, 2020
  27. May 01, 2020
  28. Apr 15, 2020
    • Alexander V. Tikhonov's avatar
      Added ability to remove packages from S3 · d6c50af1
      Alexander V. Tikhonov authored
      Added ability to remove given in options package from S3. TO remove the
      needed package need to set '-r=<package name with version>' option,
      like:
        ./tools/update_repo.sh -o=<OS> -d=<DIST> -b=<S3 repo> \
          -r=tarantool-2.2.2.0
      it will remove all found appropriate source and binaries packages from
      the given S3 repository, also the meta files will be corrected there.
      
      Close #4839
      d6c50af1
Loading