mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-15 12:28:22 +01:00
ci: add automatic release creation on tag
This commit is contained in:
parent
c9859aa206
commit
dcfb75adee
16
.chglog/CHANGELOG.tpl.md
Executable file
16
.chglog/CHANGELOG.tpl.md
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
{{ range .Versions }}
|
||||||
|
<a name="{{ .Tag.Name }}"></a>
|
||||||
|
## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
|
||||||
|
{{ range .CommitGroups -}}
|
||||||
|
### {{ .Title }}
|
||||||
|
{{ range .Commits -}}
|
||||||
|
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end -}}
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
|
{{ range .Versions -}}
|
||||||
|
{{ if .Tag.Previous -}}
|
||||||
|
[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
|
||||||
|
{{ end -}}
|
||||||
|
{{ end -}}
|
||||||
39
.chglog/config.yml
Normal file
39
.chglog/config.yml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
style: gitlab
|
||||||
|
template: CHANGELOG.tpl.md
|
||||||
|
info:
|
||||||
|
title: CHANGELOG
|
||||||
|
repository_url: https://git.gfz-potsdam.de/sec34/port
|
||||||
|
options:
|
||||||
|
commits:
|
||||||
|
filters:
|
||||||
|
Type:
|
||||||
|
- feat
|
||||||
|
- fix
|
||||||
|
- perf
|
||||||
|
- refactor
|
||||||
|
- data
|
||||||
|
- build
|
||||||
|
- util
|
||||||
|
- doc
|
||||||
|
- chore
|
||||||
|
- ci
|
||||||
|
commit_groups:
|
||||||
|
title_maps:
|
||||||
|
feat: Features
|
||||||
|
fix: Bug Fixes
|
||||||
|
perf: Performance Improvements
|
||||||
|
refactor: Code Refactoring
|
||||||
|
data: Simulation Input
|
||||||
|
build: Build System
|
||||||
|
util: Evaluation Scripts
|
||||||
|
doc: Documentation
|
||||||
|
chore: Householding and Cleanup
|
||||||
|
ci: CI
|
||||||
|
header:
|
||||||
|
pattern: "^(\\w*)\\:\\s(.*)$"
|
||||||
|
pattern_maps:
|
||||||
|
- Type
|
||||||
|
- Subject
|
||||||
|
notes:
|
||||||
|
keywords:
|
||||||
|
- BREAKING CHANGE
|
||||||
@ -20,9 +20,12 @@ image: git.gfz-potsdam.de:5000/sec34/port:builder
|
|||||||
|
|
||||||
stages: # List of stages for jobs, and their order of execution
|
stages: # List of stages for jobs, and their order of execution
|
||||||
- build
|
- build
|
||||||
|
- release
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
SOURCE_ARCHIVE_NAME: 'port_${CI_COMMIT_TAG}_sources.tar.gz'
|
||||||
|
CHANGELOG_FILE: 'commit_changelog.md'
|
||||||
|
|
||||||
build-poet: # This job runs in the build stage, which runs first.
|
build-poet: # This job runs in the build stage, which runs first.
|
||||||
stage: build
|
stage: build
|
||||||
@ -30,3 +33,55 @@ build-poet: # This job runs in the build stage, which runs first.
|
|||||||
- mkdir build && cd build
|
- mkdir build && cd build
|
||||||
- cmake ..
|
- cmake ..
|
||||||
- make -j$(nproc)
|
- make -j$(nproc)
|
||||||
|
|
||||||
|
archive-sources: # This job runs in the build stage, which runs first.
|
||||||
|
image: python:3
|
||||||
|
stage: release
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- pip install git-archive-all
|
||||||
|
- echo ARCHIVE_JOB_ID=${CI_JOB_ID} >> archives.env
|
||||||
|
script:
|
||||||
|
- git-archive-all ${SOURCE_ARCHIVE_NAME}
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- ${SOURCE_ARCHIVE_NAME}
|
||||||
|
reports:
|
||||||
|
dotenv: archives.env
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
|
||||||
|
release-description:
|
||||||
|
image: golang:bullseye
|
||||||
|
stage: release
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
before_script:
|
||||||
|
- go install github.com/git-chglog/git-chglog/cmd/git-chglog@v0.15.2
|
||||||
|
script:
|
||||||
|
- git-chglog -o ${CHANGELOG_FILE} ${CI_COMMIT_TAG}
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- ${CHANGELOG_FILE}
|
||||||
|
|
||||||
|
|
||||||
|
release-create:
|
||||||
|
stage: release
|
||||||
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
script:
|
||||||
|
- echo "Running release job"
|
||||||
|
needs:
|
||||||
|
- job: archive-sources
|
||||||
|
artifacts: true
|
||||||
|
- job: release-description
|
||||||
|
artifacts: true
|
||||||
|
release:
|
||||||
|
tag_name: $CI_COMMIT_TAG
|
||||||
|
name: 'PORT $CI_COMMIT_TAG'
|
||||||
|
description: ${CHANGELOG_FILE}
|
||||||
|
assets:
|
||||||
|
links:
|
||||||
|
- name: '${SOURCE_ARCHIVE_NAME}'
|
||||||
|
url: 'https://git.gfz-potsdam.de/sec34/port/-/jobs/${ARCHIVE_JOB_ID}/artifacts/file/${SOURCE_ARCHIVE_NAME}'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user