Skip to content
Snippets Groups Projects
  1. Jun 08, 2023
  2. Jun 07, 2023
  3. Jun 01, 2023
  4. May 04, 2023
  5. Apr 06, 2023
  6. Mar 31, 2023
  7. Mar 14, 2023
  8. Feb 10, 2023
  9. Feb 03, 2023
  10. Jan 26, 2023
  11. Jan 13, 2023
    • Yaroslav Dynnikov's avatar
      ci: miscellaneous cleanup · fe02558f
      Yaroslav Dynnikov authored
      1. Rename "check-deployment" stage, make it more concise using
         `parallel:matrix` Gitlab CI feature.
      2. Ignore `gitlab-ci.yml` changes in `test-docker` job
      3. Remove unused credentials from `sign-rpm-packages` job
      fe02558f
  12. Jan 12, 2023
  13. Dec 15, 2022
  14. Dec 07, 2022
  15. Dec 01, 2022
  16. Nov 30, 2022
  17. Nov 23, 2022
  18. Nov 09, 2022
    • Yaroslav Dynnikov's avatar
      fix(ci): concurrent cache access · ffe18d93
      Yaroslav Dynnikov authored
      Saving cache isn't instantaneous. Usually it takes about a minute.
      If another job tries to restore cache at the same time, it fails
      with the error "tar: Unexpected EOF in archive".
      
      Now tar writes to a different filename with a random suffix, and then
      renames it atomically.
      ffe18d93
    • Yaroslav Dynnikov's avatar
      fix(ci): build master branch with clean cache · 3b274b4e
      Yaroslav Dynnikov authored
      CI on master branch always reuses the same archive. As a result, its
      size gradually grows. It already takes more than 6GB, while it should be
      about 3GB large. It makes restoring the cache slower and slower.
      
      With this patch the cache is cleared every time in master branch.
      3b274b4e
  19. Nov 01, 2022
  20. Oct 31, 2022
    • Yaroslav Dynnikov's avatar
      ci: refactor pipeline · 5d2dbc21
      Yaroslav Dynnikov authored
      The whole CI is refactored. The following problems are solved:
      
      1. Couldn't test base image locally without overriding the old one.
      
      The testing stage is run in two ways depending on whether some
      of the docker-related files were changed.
      
      If they didn't (most likely), testing stage is run on the `latest`
      docker image as it used to.
      
      Otherwise, the docker image is rebuilt locally and tested. This is done
      by using `image:pull_policy` option, see [1].
      
      It also makes a problem of using protected credentials irrelevant.
      
      2. Gitlab caching used to be slow
      
      Stupid gitlab caching (see [2]) wasted on (un)zipping cache 4 minutes
      (of 6 total). Now it's replaced with a manual one: an archive (tar) is
      placed in a docker volume on a self-hosted gitlab runner with no
      compression.
      
      3. Speed up fetching git.
      
      The tarantool-sys submodule requires a tag to be built correctly, but
      using shallow clones prevented that. We used to work-around it by
      specifying `GIT_DEPTH: 0`, but that's sub-optimal too. This patch
      introduces an elegant yet reliable solution:
      
      ```
      until git describe; do git fetch --deepen 100; done
      ```
      
      4. No fine-grained time tracking was available
      
      Gitlab only shows the total time of `step_script` without splitting it
      into particular commands. This problem is solved by incorporating
      collapsible log sections feature, see [3]. It makes logs fancy too.
      
      Refs:
      
      - [1] https://docs.gitlab.com/ee/ci/yaml/#imagepull_policy
      - [2] https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3523
      - [3] https://docs.gitlab.com/ee/ci/jobs/#custom-collapsible-sections
      5d2dbc21
  21. Oct 21, 2022
  22. Oct 19, 2022
    • Alexey Protsenko's avatar
      fix(ci): rpm sign · ab9e3c68
      Alexey Protsenko authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      1. Signed rpm packages used to be overridden by unsigned
         ones due to the artifacts clash. This bug is fixed by
         specifying explicit stage dependencies.
      2. Add stage for testing installed packages.
      ab9e3c68
  23. Oct 17, 2022
  24. Oct 16, 2022
  25. Sep 12, 2022
  26. Aug 19, 2022
  27. Jul 14, 2022
  28. Jul 11, 2022
  29. Jul 08, 2022
  30. Jul 07, 2022
  31. May 25, 2022
  32. May 11, 2022
    • Yaroslav Dynnikov's avatar
      test: revise pytest environment · 1bfc5a21
      Yaroslav Dynnikov authored
      1. Review `Pipfile`:
        - Remove unused `filelock`;
        - Install `mypy` - static type checker for Python.
      2. Add new command `pipenv run lint`.
      3. Enable `mypy` in CI. Fix reported errors in `test_basics.py`.
      4. Renew readme.
      1bfc5a21
Loading