Select Git revision
.gitlab-ci.yml
.gitlab-ci.yml 1.77 KiB
stages:
- publish-npm
publish_npm:
image: "node:current-alpine"
stage: publish-npm
before_script:
- apk add --update yarn
- apk add --update jq
- apk add --update rsync
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes:
- clients/**/*
script:
- cd ./config
- rsync -a --prune-empty-dirs --include '*/' --include '*.d.ts' --exclude '*' ../../clients ./
- rsync -a --prune-empty-dirs --include '*/' --include '*.d.ts.map' --exclude '*' ../../clients ./
- rsync -a --prune-empty-dirs --include '*/' --include '*.js' --exclude '*' ../../clients ./
- rsync -a --prune-empty-dirs --include '*/' --include '*.js.map' --exclude '*' ../../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 "@${CI_PROJECT_ROOT_NAMESPACE}: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_NAME=$(node -p "require('./package.json').name")
- 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
- npm version patch
- yarn pub
- NPM_PACKAGE_VERSION=$(node -p "require('./package.json').version")
- echo "Successfully published version ${NPM_PACKAGE_VERSION} of ${NPM_PACKAGE_NAME} to GitLab's NPM registry"
- rm -rf ./clients