28 lines
882 B
YAML
28 lines
882 B
YAML
# Runs on: main only — after lints pass.
|
|
# Analyses conventional commits and publishes a GitLab release + CHANGELOG.
|
|
#
|
|
# Required CI/CD variable:
|
|
# SEMANTIC_RELEASE_TOKEN — project/personal access token with api + write_repository scope.
|
|
# (CI_JOB_TOKEN does not have the permissions needed to push tags and create releases.)
|
|
|
|
release:
|
|
stage: release
|
|
image: node:lts-alpine
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
needs:
|
|
- lint:config-json
|
|
- lint:apps-yaml
|
|
variables:
|
|
GITLAB_TOKEN: $SEMANTIC_RELEASE_TOKEN
|
|
before_script:
|
|
- npm install --no-save
|
|
semantic-release
|
|
@semantic-release/commit-analyzer
|
|
@semantic-release/release-notes-generator
|
|
@semantic-release/changelog
|
|
@semantic-release/git
|
|
@semantic-release/gitlab
|
|
script:
|
|
- npx semantic-release --config .cicd/.releaserc.json
|