Skip to content
Snippets Groups Projects
Select Git revision
  • 08e2f2319616f16859b18f423629933ac80ec61e
  • master default protected
2 results

.gitlab-ci.yml

Blame
  • user avatar
    ko_oler authored
    08e2f231
    History
    .gitlab-ci.yml 1.42 KiB
    stages:
      - publish-npm
    
    publish_npm:
      image: "node:current-alpine3.17"
      stage: publish-npm
      before_script:
        - apk add --update bash
        - apk add --update make
        - apk add --update yarn
        - apk add --update jq
        - apk add --update rsync
        - apk add --update protobuf-dev
      rules:
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
          changes:
            - config/package.json
      script:
        - mkdir clients
        - make proto
        - cd ./config
        - rsync -a --prune-empty-dirs ../clients ./
        - |
          if [[ ! -f .npmrc ]]; then
            echo 'No .npmrc found! Creating one now. Please review the following link for more information: https://docs.gitlab.com/ee/user/packages/npm_registry/index.html#project-level-npm-endpoint-1'
            {
              echo "@perxis-js:registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/"
              echo "${CI_API_V4_URL#http*:}/packages/npm/:_authToken=\${CI_JOB_TOKEN}"
              echo "${CI_API_V4_URL#http*:}/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=\${CI_JOB_TOKEN}"
            } >> .npmrc
          fi
        - NPM_PACKAGE_CURRENT_VERSION=$(npm show ${NPM_PACKAGE_NAME} version)
        - echo -E "$(jq --arg version $NPM_PACKAGE_CURRENT_VERSION '.version = $version' package.json)" > package.json
        - yarn pub
        - echo "Successfully published version ${NPM_PACKAGE_CURRENT_VERSION} of ${NPM_PACKAGE_NAME} to GitLab's NPM registry"
        - rm -rf ./clients
        - cd ..
        - rm -rf ./clients