ci: add basic GitLab CI and .releaserc.yml
This commit is contained in:
parent
7a386c2f9f
commit
835046e5c4
2 changed files with 77 additions and 0 deletions
48
.gitlab-ci.yml
Normal file
48
.gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
default:
|
||||
image: python:3.9
|
||||
|
||||
stages:
|
||||
- test
|
||||
- build
|
||||
- pre-release
|
||||
- release
|
||||
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
# - python tests/test.py
|
||||
- |
|
||||
echo "TODO: run tests"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
script:
|
||||
- |
|
||||
echo "TODO: build app (e.g. docker build)"
|
||||
|
||||
release:tag--dry-run:
|
||||
stage: pre-release
|
||||
image: node:16-buster-slim
|
||||
before_script:
|
||||
- apt-get update && apt-get upgrade -y --no-install-recommends git-core ca-certificates
|
||||
- npm i -g semantic-release @semantic-release/git @semantic-release/changelog @semantic-release/gitlab
|
||||
script:
|
||||
- |
|
||||
echo "!!! THIS IS A DRY RUN !!!"
|
||||
echo "NO RELEASE WILL BE CREATED"
|
||||
- semantic-release --dry-run -b ${CI_COMMIT_REF_NAME}
|
||||
|
||||
release:tag:
|
||||
stage: pre-release
|
||||
image: node:16-buster-slim
|
||||
before_script:
|
||||
- apt-get update && apt-get upgrade -y --no-install-recommends git-core ca-certificates
|
||||
- npm i -g semantic-release @semantic-release/git @semantic-release/changelog @semantic-release/gitlab
|
||||
script:
|
||||
- semantic-release -b ${CI_COMMIT_REF_NAME}
|
||||
|
||||
release:publish:
|
||||
stage: release
|
||||
script:
|
||||
- |
|
||||
echo "TODO: release the app (e.g. publish tagged docker image)"
|
||||
29
.releaserc.yml
Normal file
29
.releaserc.yml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
verifyConditions:
|
||||
- "@semantic-release/gitlab"
|
||||
# - "@semantic-release/changelog"
|
||||
# - "@semantic-release/git"
|
||||
prepare:
|
||||
# - "@semantic-release/changelog"
|
||||
# - "@semantic-release/git"
|
||||
generateNotes:
|
||||
- "@semantic-release/release-notes-generator"
|
||||
publish:
|
||||
- "@semantic-release/gitlab"
|
||||
success: false
|
||||
fail: false
|
||||
npmPublish: false
|
||||
tagFormat: ${version}
|
||||
plugins:
|
||||
- - "@semantic-release/commit-analyzer"
|
||||
- preset: angular
|
||||
parserOpts:
|
||||
- "BREAKING CHANGE"
|
||||
- "BREAKING CHANGES"
|
||||
- "BREAKING"
|
||||
- - "@semantic-release/release-notes-generator"
|
||||
# - - "@semantic-release/changelog"
|
||||
# - changelogFile: "CHANGELOG.md"
|
||||
# - - "@semantic-release/git"
|
||||
# - assets:
|
||||
# - "CHANGELOG.md"
|
||||
# message: "chore(CHANGELOG): ${nextRelease.version}\n\n${nextRelease.notes}"
|
||||
Reference in a new issue