Skip to content
Snippets Groups Projects
Select Git revision
  • 3d2edfb044994cde54e50e3cffdebf684bfe57d9
  • master default protected
  • fix/3368-SchemaIsEqual
  • feature/3109-SerializeFeature
  • release/0.33
  • feature/3109-RecoverySchema
  • feature/3109-feature
  • fix/PRXS-3369-ValidateFields
  • fix/3355-DecodeNumberFields
  • refactor/PRXS-3306-MovePkgGroup1
  • refactor/6-pkg-refactor-expr
  • fix/PRXS-3357-FixRefEncode
  • fix/PRXS-3360-TemplateBuilderPatch
  • feature/3293-MongoV2
  • feature/3272-GoVersionUp
  • feature/PRXS-3218-HideTemplateActions
  • feature/PRXS-3234-PruneIdents
  • feature/3146-UpdateItemStorageInterface
  • feature/3274-ObjectIndexesFixes
  • feature/PRXS-3143-3235-ReferenceOptions
  • feature/PRXS-3143-3237-ExecuteOptions
  • v0.33.1
  • v0.32.0
  • v0.31.1
  • v0.31.0
  • v0.30.0
  • v0.29.0
  • v0.28.0
  • v0.27.0-alpha.1+16
  • v0.27.0-alpha.1+15
  • v0.27.0-alpha.1+14
  • v0.27.0-alpha.1+13
  • v0.27.0-alpha.1+12
  • v0.27.0-alpha.1+11
  • v0.27.0-alpha.1+10
  • v0.27.0-alpha.1+9
  • v0.27.0-alpha.1+8
  • v0.27.0-alpha.1+7
  • v0.27.0-alpha.1+6
  • v0.27.0-alpha.1+5
  • v0.27.0-alpha.1+4
41 results

.gitlab-ci.yml

Blame
  • .gitlab-ci.yml 5.03 KiB
    image: golang:1.22
    
    stages:
      - test
      - pre-release
      - release
    
    run_tests:
      rules:
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)'
      stage: test
      script:
        - go install gotest.tools/gotestsum@latest
        - gotestsum --format testname --junitfile report.xml
      artifacts:
        when: always
        reports:
          junit: report.xml
    
    lint:
      image: golangci/golangci-lint:v1.56-alpine
      rules:
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)'
      stage: test
      script:
        - golangci-lint run --issues-exit-code 1 --print-issued-lines=false --new-from-rev $CI_MERGE_REQUEST_DIFF_BASE_SHA --out-format code-climate:gl-code-quality-report.json,line-number
      artifacts:
        reports:
          codequality: gl-code-quality-report.json
        paths:
          - gl-code-quality-report.json
    
    # ----- prepare release -----
    
    # Расчет тега и формирование Changelog
    get_changelog:
      stage: pre-release
      image:
        name: orhunp/git-cliff:latest
        entrypoint: [ "" ]
      rules:
        - if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"' # Запуск при инициации из perxis
        - if: $CI_PIPELINE_SOURCE == "web"                                      # или при ручном запуске из GUI
          when: manual                    
      variables:
        GIT_STRATEGY: clone
        GIT_DEPTH: 0
      script:
        - echo "$(git-cliff --unreleased | sed '1,6d' | sed '$d')" > current_changelog.md # удалить "лишние" строки для Changelog
      artifacts:
        reports:
          dotenv: vars.env # Use artifacts:reports:dotenv to expose the variables to other jobs
        paths:
          - current_changelog.md
    
    # Релиз и запись тега в артефакт для использования в perxis
    prepare_release:
      stage: pre-release
      image: bitnami/git:latest
      variables:
        GIT_DEPTH: 0
        GIT_STRATEGY: clone
      rules:
        - if: '$CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE == "true"'
        - if: $CI_PIPELINE_SOURCE == "web"
      needs:
        - job: get_changelog
          artifacts: true
      script:
        - |