ci: add jenkins pipeline #1
|
@ -0,0 +1,42 @@
|
|||
{{ if .Versions -}}
|
||||
<a name="unreleased"></a>
|
||||
## [Unreleased]
|
||||
|
||||
{{ if .Unreleased.CommitGroups -}}
|
||||
{{ range .Unreleased.CommitGroups -}}
|
||||
### {{ .Title }}
|
||||
{{ range .Commits -}}
|
||||
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ 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 -}}
|
||||
|
||||
{{- if .NoteGroups -}}
|
||||
{{ range .NoteGroups -}}
|
||||
### {{ .Title }}
|
||||
{{ range .Notes }}
|
||||
{{ .Body }}
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
|
||||
{{- if .Versions }}
|
||||
[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
|
||||
{{ range .Versions -}}
|
||||
{{ if .Tag.Previous -}}
|
||||
[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
|
@ -0,0 +1,33 @@
|
|||
style: github
|
||||
template: CHANGELOG.tpl.md
|
||||
info:
|
||||
title: CHANGELOG
|
||||
repository_url: https://forge.cadoles.com/Cadoles/mktools
|
||||
options:
|
||||
commits:
|
||||
filters:
|
||||
Type:
|
||||
- feat
|
||||
- fix
|
||||
- perf
|
||||
- refactor
|
||||
- docs
|
||||
commit_groups:
|
||||
title_maps:
|
||||
feat: Features
|
||||
fix: Bug Fixes
|
||||
perf: Performance Improvements
|
||||
refactor: Code Refactoring
|
||||
docs: Documentation
|
||||
header:
|
||||
pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$"
|
||||
pattern_maps:
|
||||
- Type
|
||||
- Scope
|
||||
- Subject
|
||||
notes:
|
||||
keywords:
|
||||
- BREAKING CHANGE
|
||||
issues:
|
||||
prefix:
|
||||
- '#'
|
|
@ -0,0 +1 @@
|
|||
tools/
|
|
@ -0,0 +1,19 @@
|
|||
<a name="unreleased"></a>
|
||||
## [Unreleased]
|
||||
|
||||
### Bug Fixes
|
||||
- **changelog:** add missing task dependency
|
||||
|
||||
### Features
|
||||
- add changelog
|
||||
- add mkt-changelog task
|
||||
- **gitea-release:** automatically add tools directory to git ignored files
|
||||
|
||||
|
||||
<a name="2023.8.23-stable.1207.cd2f1ba"></a>
|
||||
## 2023.8.23-stable.1207.cd2f1ba - 2023-08-21
|
||||
### Features
|
||||
- initial commit
|
||||
|
||||
|
||||
[Unreleased]: https://forge.cadoles.com/Cadoles/mktools/compare/2023.8.23-stable.1207.cd2f1ba...HEAD
|
|
@ -0,0 +1,3 @@
|
|||
@Library("cadoles") _
|
||||
|
||||
standardMakePipeline()
|
|
@ -0,0 +1,33 @@
|
|||
.PHONY: all
|
||||
all: test build
|
||||
|
||||
.PHONY: test
|
||||
test: tools/checkmake/bin/checkmake
|
||||
tools/checkmake/bin/checkmake Makefile
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
|
||||
MKT_GITEA_RELEASE_ORG ?= Cadoles
|
||||
MKT_GITEA_RELEASE_PROJECT ?= mktools
|
||||
|
||||
.PHONY: release
|
||||
release:
|
||||
$(MAKE) update-changelog
|
||||
$(MAKE) \
|
||||
MKT_GITEA_RELEASE_ATTACHMENTS="CHANGELOG.md" \
|
||||
mkt-gitea-release
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf tools
|
||||
|
||||
.PHONY: update-changelog
|
||||
update-changelog:
|
||||
$(MAKE) MKT_GIT_CHGLOG_PROJECT_ORG=Cadoles MKT_GIT_CHGLOG_PROJECT_NAME=mktools mkt-changelog
|
||||
git add CHANGELOG.md
|
||||
git commit -m "chore: update changelog"
|
||||
git push --tags
|
||||
|
||||
include tasks/*.mk
|
|
@ -0,0 +1,8 @@
|
|||
MKT_CHECKMAKE_VERSION ?= 0.2.2
|
||||
MKT_CHECKMAKE_URL ?= https://github.com/mrtazz/checkmake/releases/download/$(MKT_CHECKMAKE_VERSION)/checkmake-$(MKT_CHECKMAKE_VERSION).linux.amd64
|
||||
|
||||
tools/checkmake/bin/checkmake:
|
||||
mkdir -p tools/checkmake/bin
|
||||
grep -qF -- "tools/" ".gitignore" 2>/dev/null || echo "tools/" >> ".gitignore"
|
||||
curl -sL -o tools/checkmake/bin/checkmake "$(MKT_CHECKMAKE_URL)"
|
||||
chmod +x tools/checkmake/bin/checkmake
|
|
@ -1,7 +1,7 @@
|
|||
MKT_GITEA_RELEASE_PROJECT ?=
|
||||
MKT_GITEA_RELEASE_ORG ?=
|
||||
MKT_GITEA_RELEASE_BASE_URL ?= https://forge.cadoles.com
|
||||
MKT_GITEA_RELEASE_VERSION ?=
|
||||
MKT_GITEA_RELEASE_VERSION ?= $(MKT_PROJECT_VERSION)
|
||||
MKT_GITEA_RELEASE_COMMIT_TARGET ?= $(shell git rev-parse HEAD)
|
||||
MKT_GITEA_RELEASE_IS_DRAFT ?= false
|
||||
MKT_GITEA_RELEASE_BODY ?=
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
MKT_PROJECT_VERSION_CHANNEL ?= $(shell git rev-parse --abbrev-ref HEAD | tr '[:upper:]' '[:lower:]' | sed -e 's/[-_ ]//g')
|
||||
|
||||
ifeq ($(MKT_PROJECT_VERSION_CHANNEL),develop)
|
||||
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= dev
|
||||
else ifeq ($(MKT_PROJECT_VERSION_CHANNEL),testing)
|
||||
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= tst
|
||||
else ifeq ($(MKT_PROJECT_VERSION_CHANNEL),stable)
|
||||
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= stb
|
||||
else
|
||||
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= $(shell echo "$(MKT_PROJECT_VERSION_CHANNEL)" | sed -e 's/[aeiouy]//g' | cut -c1-3)
|
||||
endif
|
||||
|
||||
MKT_PROJECT_VERSION_DATE ?= $(shell date +%Y.%-m.%-d)
|
||||
MKT_PROJECT_VERSION_TIMESTAMP ?= $(shell date +%-H%M)
|
||||
|
||||
MKT_PROJECT_VERSION ?= $(MKT_PROJECT_VERSION_DATE)-$(MKT_PROJECT_VERSION_CHANNEL).$(MKT_PROJECT_VERSION_TIMESTAMP).$(shell git rev-parse --short HEAD)
|
||||
MKT_PROJECT_SHORT_VERSION ?= $(MKT_PROJECT_VERSION_DATE)-$(MKT_PROJECT_SHORT_VERSION_CHANNEL).$(MKT_PROJECT_VERSION_TIMESTAMP)
|
Loading…
Reference in New Issue