1
0
Fork 0

ci: add basic GitLab CI and .releaserc.yml

This commit is contained in:
Vojtěch Mareš 2021-12-09 09:45:45 +01:00
parent 7a386c2f9f
commit 835046e5c4
Signed by: vojtech.mares
GPG key ID: C6827B976F17240D
2 changed files with 77 additions and 0 deletions

48
.gitlab-ci.yml Normal file
View 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
View 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}"