stages: - verify - release variables: GIT_DEPTH: 0 .node-cache: cache: key: files: - package-lock.json paths: - node_modules/ verify: stage: verify image: node:22 extends: .node-cache rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' script: - npm ci - npm run lint - npm run type-check release: stage: release image: node:22 extends: .node-cache rules: - if: '$CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == "push"' before_script: - apt-get update -qq && apt-get install -y -qq git > /dev/null - git config user.name "gitlab-ci" - git config user.email "ci@uappi.com.br" - git remote set-url origin "https://oauth2:${GITLAB_PUSH_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" - git fetch --tags origin script: - npm ci - npm run lint - npm run type-check - bash scripts/release.sh