ci-templates/Semantic-Release-Base.gitla...

40 lines
1.1 KiB
YAML

---
# You need to setup some CI/CD variables
# I recommend to set it on Group to make things easier
# see https://docs.gitlab.com/ee/ci/examples/semantic-release.html#set-up-cicd-variables
.caching_node: &caching_node
cache:
key: semantic-release-cache
paths:
- node_modules/
semantic-release:
image: node:lts
stage: review
variables:
NPM_TOKEN: "${CI_JOB_TOKEN}"
before_script:
- yarn add semantic-release @semantic-release/git @semantic-release/gitlab @semantic-release/changelog semantic-release-cli
- rm package.json yarn.lock
- |
cat <<-EOF >> .releaserc.yml
branches:
- $CI_COMMIT_BRANCH
plugins:
- "@semantic-release/commit-analyzer"
- "@semantic-release/release-notes-generator"
- "@semantic-release/changelog"
- "@semantic-release/gitlab"
- "@semantic-release/git"
EOF
script:
- ./node_modules/.bin/semantic-release
rules:
- exists:
- package.json # disable on package.json exists
when: never
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
when: always
<<: *caching_node