17 Commits

Author SHA1 Message Date
dc66401240 chore(changelog): update changelog for v0.1.0 2025-06-14 17:00:20 +00:00
ed3e432599 chore(version): add initial version file
All checks were successful
Auto Changelog & Release / release (push) Successful in 7s
- Introduces a VERSION file to track the project's version.
- Sets the initial version to 0.1.0.
2025-06-14 19:00:12 +02:00
1e60541d31 chore(changelog): update unreleased changelog 2025-06-14 16:59:31 +00:00
067149548b feat(config): update remote repository details in cliff.toml
All checks were successful
Auto Changelog & Release / release (push) Successful in 5s
- Change owner to "actions" and repository to "auto-changelog-release-action"
- Aligns configuration with new repository structure or usage
2025-06-14 18:59:24 +02:00
04dd7d5159 chore(changelog): update unreleased changelog 2025-06-14 16:58:51 +00:00
e5bddac748 chore(config): add git-cliff configuration for changelog generation
All checks were successful
Auto Changelog & Release / release (push) Successful in 5s
- Introduces a default configuration file for git-cliff
- Configures changelog templates, commit parsers, and postprocessors
- Enables conventional commits and filters unconventional commits
- Adds Gitea-specific remote settings for repository details
2025-06-14 18:58:44 +02:00
8e5333a756 chore(changelog): update unreleased changelog 2025-06-14 16:58:06 +00:00
fcb80ef5ce feat(workflows): add token input for release action
All checks were successful
Auto Changelog & Release / release (push) Successful in 6s
- Adds `token` input to the release workflow to use a secret token.
- Enhances automation by enabling authenticated release publishing.
2025-06-14 18:57:59 +02:00
200b3d3e53 chore(changelog): update unreleased changelog 2025-06-14 16:56:21 +00:00
72faeb5d9f feat(action): add environment variables for version detection
All checks were successful
Auto Changelog & Release / release (push) Successful in 6s
- Introduces environment variables to enhance version detection
- Ensures compatibility with GitHub event context and references
2025-06-14 18:56:14 +02:00
99eb52732e chore(changelog): update unreleased changelog 2025-06-14 16:53:18 +00:00
7bad547539 feat(workflow): enhance release process with additional steps
All checks were successful
Auto Changelog & Release / release (push) Successful in 6s
- Add git-cliff installation and configuration for changelog generation
- Include CLIFF_VERSION detection and handling
- Improve git setup for release automation
- Refine conditional steps for changelog and version release
2025-06-14 18:53:10 +02:00
286d2a6916 refactor(action): remove unused steps for version management
Some checks failed
Auto Changelog & Release / release (push) Failing after 3s
- Simplifies the workflow by removing redundant steps
- Eliminates scripts for version reading, CLI installation, and changelog generation
- Focuses on reducing complexity and maintaining essential functionality
2025-06-14 18:50:39 +02:00
fee52f9823 feat(action): add default values for optional inputs
Some checks failed
Auto Changelog & Release / release (push) Failing after 3s
- Set default values for `token`, `author_name`, and `author_email`
  inputs to improve usability and avoid potential null issues
2025-06-14 18:50:00 +02:00
4ab6624add feat(workflows): enhance release process with additional steps
Some checks failed
Auto Changelog & Release / release (push) Failing after 3s
- Update action reference to use the main branch for stability
- Add scripts for version detection, CLI version reading, and git-cliff installation
- Include setup for git configuration and changelog generation
- Improve release logic based on version changes and branch checks
2025-06-14 18:49:22 +02:00
209c25d05a refactor(action): remove unused CLI setup steps
Some checks failed
Auto Changelog & Release / release (push) Failing after 2s
- Eliminate redundant steps for CLIFF version reading, git-cliff
  installation, and git setup to streamline action configuration
- Simplifies the workflow by focusing on essential functionality
2025-06-14 18:48:37 +02:00
a66fc97f2a refactor(action): remove unused changelog and release steps
Some checks failed
Auto Changelog & Release / release (push) Failing after 2s
- Remove steps for generating unreleased changelogs and releasing
  from version in the GitHub Action workflow.
- Simplify the workflow by retaining only essential steps.
2025-06-14 18:46:42 +02:00
5 changed files with 157 additions and 7 deletions

View File

@@ -10,7 +10,10 @@ jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Release
uses: https://git.0xmax42.io/actions/auto-changelog-release-action@978d002e9eb82247da53ddfb4fa2226527290919
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Release
uses: https://git.0xmax42.io/actions/auto-changelog-release-action@main
with:
token: ${{ secrets.RELEASE_PUBLISH_TOKEN }}

39
CHANGELOG.md Normal file
View File

@@ -0,0 +1,39 @@
# Changelog
All notable changes to this project will be documented in this file.
## [0.1.0] - 2025-06-14
### 🚀 Features
- *(config)* Update remote repository details in cliff.toml - ([0671495](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/067149548b8c4a522da1504f21a9a6745acc279e))
- *(workflows)* Add token input for release action - ([fcb80ef](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/fcb80ef5ce808537df1e269e203dcd234a4a7657))
- *(action)* Add environment variables for version detection - ([72faeb5](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/72faeb5d9ffbebff0b704d53cb6123c87f65887f))
- *(workflow)* Enhance release process with additional steps - ([7bad547](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/7bad5475390a927f14ed5eccd31c4268dd0d7a28))
- *(action)* Add default values for optional inputs - ([fee52f9](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/fee52f98233ac367dda3d362df1949defd600714))
- *(workflows)* Enhance release process with additional steps - ([4ab6624](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/4ab6624add5de4e52fe2aff373b1a2f22f2557bb))
- *(workflows)* Add automated changelog and release workflow - ([84d0da4](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/84d0da4478cbe6b0ba6d60b3251544ed46597a36))
- *(action)* Add composite action for changelog and release - ([978d002](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/978d002e9eb82247da53ddfb4fa2226527290919))
- *(scripts)* Add CI utilities for versioning and changelog - ([048b964](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/048b96420488bae599ea8f2f7765a2e576b9f718))
### 🐛 Bug Fixes
- *(action)* Ensure fallback for release token input - ([b65e9ee](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/b65e9ee5423a1701ac057a56a09973ed9b2ea7b8))
### 🚜 Refactor
- *(action)* Remove unused steps for version management - ([286d2a6](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/286d2a691683c364025cf0cdd08e4afd60c20356))
- *(action)* Remove unused CLI setup steps - ([209c25d](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/209c25d05a79ec854f9dd49b1da820215e074ba2))
- *(action)* Remove unused changelog and release steps - ([a66fc97](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/a66fc97f2a177b42c93a85bddf969065a849b3a6))
### 🎨 Styling
- *(vscode)* Customize activity bar and theme colors - ([53bad79](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/53bad793ebca739051ba3975aa2628283d3e08ff))
### ⚙️ Miscellaneous Tasks
- *(config)* Add git-cliff configuration for changelog generation - ([e5bddac](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/e5bddac7481a16b43cc81ec115b22c1b13de7425))
- *(workflows)* Update release step with descriptive name - ([e73d132](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/e73d1324b7ea2095ef52512d0c140ef9a11d66f9))
- *(gitignore)* Add rule to exclude environment files - ([14f0a9b](https://git.0xmax42.io/actions/auto-changelog-release-action/commit/14f0a9b4b19e2f981417292a0b844485fbe2018e))

1
VERSION Normal file
View File

@@ -0,0 +1 @@
0.1.0

View File

@@ -5,23 +5,26 @@ inputs:
token:
description: "Gitea/GitHub PAT für Release-API"
required: false
default: ""
author_name:
description: "Commit-Autorname"
required: false
default: ""
author_email:
description: "Commit-Autore-Mail"
required: false
default: ""
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Detect version change
shell: bash
id: detect
env:
GITHUB_EVENT_BEFORE: ${{ github.event.before || '' }}
GITHUB_SHA: ${{ github.sha || '' }}
GITHUB_REF: ${{ github.ref || '' }}
run: |
bash ${{ github.action_path }}/scripts/detect-version-change.sh

104
cliff.toml Normal file
View File

@@ -0,0 +1,104 @@
# CLIFF_VERSION=2.8.0
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.
[remote.gitea]
owner = "actions"
repo = "auto-changelog-release-action"
[changelog]
# postprocessors
postprocessors = [
{ pattern = '<GITEA_URL>', replace = "https://git.0xmax42.io" }, # replace gitea url
]
# template for the changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{%- macro remote_url() -%}
<GITEA_URL>/{{ remote.gitea.owner }}/{{ remote.gitea.repo }}
{%- endmacro -%}
{% if version %}\
{% if previous.version %}\
## [{{ version | trim_start_matches(pat="v") }}]\
({{ self::remote_url() }}/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% endif %}\
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }} - \
([{{ commit.id | truncate(length=7, end="") }}]({{ self::remote_url() }}/commit/{{ commit.id }}))\
{% endfor %}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
"""
# remove the leading and trailing s
trim = true
# render body even when there are no releases to process
# render_always = true
# output file path
# output = "test.md"
[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
{ message = "^chore\\(changelog\\)", skip = true },
{ message = "^chore\\(version\\)", skip = true },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->🛡️ Security" },
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
{ message = ".*", group = "<!-- 10 -->💼 Other" },
]
# Regex to select git tags that represent releases.
tag_pattern = "v[0-9]+\\.[0-9]+\\.[0-9]+"
# filter out the commits that are not matched by commit parsers
filter_commits = false
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "newest"