From 44a6ad7b56327e1b91b5d86a74df588a9fea2a49 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Wed, 10 Feb 2021 21:22:23 +0100 Subject: [PATCH] initial commit --- .chglog/CHANGELOG.tpl.md | 23 +++++ .chglog/config.yml | 22 +++++ .drone.yml | 184 +++++++++++++++++++++++++++++++++++++++ .markdownlint.yml | 6 ++ .prettierignore | 1 + Dockerfile | 29 ++++++ LICENSE | 21 +++++ README.md | 15 ++++ overlay/.keep | 0 renovate.json | 4 + 10 files changed, 305 insertions(+) create mode 100755 .chglog/CHANGELOG.tpl.md create mode 100755 .chglog/config.yml create mode 100644 .drone.yml create mode 100644 .markdownlint.yml create mode 100644 .prettierignore create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 overlay/.keep create mode 100644 renovate.json diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md new file mode 100755 index 0000000..95a8415 --- /dev/null +++ b/.chglog/CHANGELOG.tpl.md @@ -0,0 +1,23 @@ +# Changelog + +{{ range .Versions -}} +## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .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 -}} diff --git a/.chglog/config.yml b/.chglog/config.yml new file mode 100755 index 0000000..8795df3 --- /dev/null +++ b/.chglog/config.yml @@ -0,0 +1,22 @@ +style: github +template: CHANGELOG.tpl.md +info: + title: CHANGELOG + repository_url: https://gitea.rknet.org/docker/git-chglog +options: + commit_groups: + title_maps: + feat: Features + fix: Bug Fixes + perf: Performance Improvements + refactor: Code Refactoring + chore: Others + header: + pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$" + pattern_maps: + - Type + - Scope + - Subject + notes: + keywords: + - BREAKING CHANGE diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..0d47995 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,184 @@ +--- +kind: pipeline +name: test + +platform: + os: linux + arch: amd64 + +steps: +- name: markdownlint + image: thegeeklab/markdownlint-cli + commands: + - markdownlint 'README.md' + +trigger: + ref: + - refs/heads/main + - refs/pull/** + - refs/tags/** + +--- +kind: pipeline +name: build-container + +platform: + os: linux + arch: amd64 + +steps: +- name: dryrun + image: thegeeklab/drone-docker-buildx:20 + settings: + dockerfile: Dockerfile + dry_run: true + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/pull/** + +- name: tags + image: thegeeklab/docker-autotag + environment: + DOCKER_AUTOTAG_FORCE_LATEST: True + DOCKER_AUTOTAG_IGNORE_PRERELEASE: True + DOCKER_AUTOTAG_OUTPUT_FILE: .tags + DOCKER_AUTOTAG_VERSION: ${DRONE_TAG} + when: + ref: + - refs/heads/main + - refs/tags/** + depends_on: + - dryrun + +- name: publish-dockerhub + image: thegeeklab/drone-docker-buildx:20 + settings: + dockerfile: Dockerfile + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/heads/main + - refs/tags/** + depends_on: + - tags + +- name: publish-quay + image: thegeeklab/drone-docker-buildx:20 + settings: + dockerfile: Dockerfile + password: + from_secret: quay_password + registry: quay.io + repo: quay.io/thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: quay_username + when: + ref: + - refs/heads/main + - refs/tags/** + depends_on: + - tags + +- name: publish-gitea + image: plugins/gitea-release + settings: + api_key: + from_secret: gitea_token + base_url: https://gitea.rknet.org + note: CHANGELOG.md + overwrite: true + title: ${DRONE_TAG} + when: + ref: + - refs/tags/** + depends_on: + - publish-dockerhub + - publish-quay + +trigger: + ref: + - refs/heads/main + - refs/pull/** + - refs/tags/** + +depends_on: +- test + +--- +kind: pipeline +name: notifications + +platform: + os: linux + arch: amd64 + +steps: +- name: pushrm-dockerhub + pull: always + image: chko/docker-pushrm:1 + environment: + DOCKER_PASS: + from_secret: docker_password + DOCKER_USER: + from_secret: docker_username + PUSHRM_FILE: README.md + PUSHRM_SHORT: Custom image for git-chglog + PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME} + when: + status: + - success + +- name: pushrm-quay + pull: always + image: chko/docker-pushrm:1 + environment: + APIKEY__QUAY_IO: + from_secret: quay_token + PUSHRM_FILE: README.md + PUSHRM_TARGET: quay.io/thegeeklab/${DRONE_REPO_NAME} + when: + status: + - success + +- name: matrix + image: plugins/matrix + settings: + homeserver: + from_secret: matrix_homeserver + password: + from_secret: matrix_password + roomid: + from_secret: matrix_roomid + template: "Status: **{{ build.status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}
Message: {{ build.message }}" + username: + from_secret: matrix_username + when: + status: + - success + - failure + +trigger: + ref: + - refs/heads/main + - refs/tags/** + status: + - success + - failure + +depends_on: +- build-container + +--- +kind: signature +hmac: c3b2dc109e4cf200cbfe0da970d6410f38a290932cb1ae87e48520eeb44bc8fc + +... diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..b59a114 --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,6 @@ +--- +default: True +MD013: False +MD041: False +MD004: + style: dash diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..eef18b7 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +.drone.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1c529d8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM thegeeklab/alpine:latest + +LABEL maintainer="Robert Kaussow " +LABEL org.opencontainers.image.authors="Robert Kaussow " +LABEL org.opencontainers.image.title="git-chglog" +LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/git-chglog" +LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/git-chglog" +LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/git-chglog" + +ARG BUILD_VERSION + +# renovate: datasource=github-releases depName=git-chglog/git-chglog +ENV CHGLOG_VERSION="${BUILD_VERSION:-v0.10.0}" + +COPY overlay/ / + +RUN apk add --update --no-cache --virtual .build-deps curl && \ + apk add --update --no-cache git && \ + echo "Installing git-chglog version '${KANBOARD_VERSION##v}' ..." && \ + curl -SsL -o /usr/local/bin/git-chglog "https://github.com/git-chglog/git-chglog/releases/download/${CHGLOG_VERSION}/git-chglog_${CHGLOG_VERSION##v}_linux_amd64.tar.gz" && \ + chmod 755 usr/local/bin/git-chglog && \ + apk del .build-deps && \ + rm -rf /var/cache/apk/* && \ + rm -rf /tmp/* && \ + rm -rf /root/.cache/ + +USER root +CMD [] +ENTRYPOINT ["/usr/local/bin/git-chglog"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8e54586 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Robert Kaussow + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..d0a9866 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# git-chglog + +Custom image for git-chglog + +[![Build Status](https://img.shields.io/drone/build/docker/git-chglog?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/git-chglog) +[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/git-chglog) +[![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/git-chglog) +[![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/git-chglog) +[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/git-chglog/src/branch/main/LICENSE) + +Custom Docker image to generate changelogs with [git-chglog](https://github.com/git-chglog/git-chglog). + +## License + +This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/docker/git-chglog/src/branch/main/LICENSE) file for details. diff --git a/overlay/.keep b/overlay/.keep new file mode 100644 index 0000000..e69de29 diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5f02575 --- /dev/null +++ b/renovate.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["github>thegeeklab/renovate-presets:docker"] +}