Compare commits

...

5 Commits

Author SHA1 Message Date
793ccfd5ba
ci: add CHANGELOG.md in artifacts
Some checks failed
Build OS / Deploy Documentation to GitHub Pages (push) Has been cancelled
Build OS / Build Cross-Compiler & Toolchain (push) Has been cancelled
Build OS / Analyze (c-cpp) (push) Has been cancelled
Build OS / Build OS (push) Has been cancelled
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-06 03:22:30 +00:00
66362ed387
chore: add git-cliff
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-06 03:17:00 +00:00
11e7d8c2dd
ci: add "push: never" to devcontainers/ci
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-06 02:26:13 +00:00
e1e9ce050d
ci: fix limine in ci build
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-06 02:00:47 +00:00
92610b6678
ci: fix ci
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-06 01:55:00 +00:00
5 changed files with 1920 additions and 3 deletions

View File

@ -82,7 +82,7 @@ RUN apt-get -y install --no-install-recommends \
RUN apt-get -y install --no-install-recommends \ RUN apt-get -y install --no-install-recommends \
mingw-w64 mingw-w64
# Required packages for building the OS # Required packages for building the OS and misc
RUN apt-get -y install --no-install-recommends \ RUN apt-get -y install --no-install-recommends \
grub2-common \ grub2-common \
xorriso \ xorriso \
@ -93,7 +93,11 @@ RUN apt-get -y install --no-install-recommends \
grub-gfxpayload-lists \ grub-gfxpayload-lists \
grub-pc-bin \ grub-pc-bin \
grub-pc \ grub-pc \
grub2-common grub2-common \
pip
# Install git-cliff
RUN pip install git-cliff --break-system-packages
# Configure git # Configure git
RUN <<EOF RUN <<EOF

View File

@ -157,6 +157,7 @@ jobs:
- name: Prepare Environment for Dev Container - name: Prepare Environment for Dev Container
run: | run: |
sudo mkdir -p /tmp/.X11-unix sudo mkdir -p /tmp/.X11-unix
sudo mkdir -p /run/user/1000/pulse
sudo touch /tmp/.Xauthority sudo touch /tmp/.Xauthority
sudo touch /run/user/1000/pulse/native sudo touch /run/user/1000/pulse/native
echo "XAUTHORITY=/tmp/.Xauthority" >> $GITHUB_ENV echo "XAUTHORITY=/tmp/.Xauthority" >> $GITHUB_ENV
@ -164,6 +165,7 @@ jobs:
- name: Run make ci-build in dev container - name: Run make ci-build in dev container
uses: devcontainers/ci@v0.3 uses: devcontainers/ci@v0.3
with: with:
push: never
runCmd: /usr/bin/make ci-build runCmd: /usr/bin/make ci-build
- name: Upload Artifact - name: Upload Artifact

1803
CHANGELOG.md Normal file

File diff suppressed because it is too large Load Diff

View File

@ -128,6 +128,9 @@ ci-setup:
$(MAKE) --quiet -C tools ci $(MAKE) --quiet -C tools ci
ci-build: ci-build:
# Prepare
$(MAKE) prepare
$(MAKE) --quiet -C tools do_limine
# amd64 # amd64
sed -i 's/.*OSARCH = .*/OSARCH = amd64/' ./config.mk && cat config.mk | grep OSARCH sed -i 's/.*OSARCH = .*/OSARCH = amd64/' ./config.mk && cat config.mk | grep OSARCH
$(MAKE) build $(MAKE) build
@ -172,7 +175,12 @@ ci-build:
sed -i 's/.*OSARCH = .*/OSARCH = amd64/' ./config.mk && cat config.mk | grep OSARCH sed -i 's/.*OSARCH = .*/OSARCH = amd64/' ./config.mk && cat config.mk | grep OSARCH
# Move all files to artifacts directory # Move all files to artifacts directory
mkdir -p artifacts mkdir -p artifacts
mv Fennix-*.iso artifacts/ $(MAKE) changelog
cp -f CHANGELOG.md artifacts/
mv -f Fennix-*.iso artifacts/
changelog:
git cliff > CHANGELOG.md
ifeq ($(QUIET_BUILD), 1) ifeq ($(QUIET_BUILD), 1)
MAKE_QUIET_FLAG = --quiet MAKE_QUIET_FLAG = --quiet

100
cliff.toml Normal file
View File

@ -0,0 +1,100 @@
# git-cliff ~ configuration file
# https://git-cliff.org/docs/configuration
[changelog]
# A Tera template to be rendered as the changelog's header.
# See https://keats.github.io/tera/docs/#introduction
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# A Tera template to be rendered for each release in the changelog.
# See https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## Unreleased
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits
| filter(attribute="scope")
| sort(attribute="scope") %}
- *({{commit.scope}})* {{ commit.message | upper_first }}
{%- if commit.breaking %}
{% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}}
{%- endif -%}
{%- endfor -%}
{% raw %}\n{% endraw %}\
{%- for commit in commits %}
{%- if commit.scope -%}
{% else -%}
- *(No Category)* {{ commit.message | upper_first }}
{% if commit.breaking -%}
{% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}}
{% endif -%}
{% endif -%}
{% endfor -%}
{% raw %}\n{% endraw %}\
{% endfor %}\n
"""
# A Tera template to be rendered as the changelog's footer.
# See https://keats.github.io/tera/docs/#introduction
footer = """
<!-- generated by git-cliff -->
"""
# Remove leading and trailing whitespaces from the changelog's body.
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]
# render body even when there are no releases to process
# render_always = true
# output file path
# output = "test.md"
[git]
# Parse commits according to the conventional commits specification.
# See https://www.conventionalcommits.org
conventional_commits = true
# Exclude commits that do not match the conventional commits specification.
filter_unconventional = false
# 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 -' },
]
# An array of regex based parsers for extracting data from the commit message.
# Assigns commits to groups.
# Optionally sets the commit's scope and can decide to exclude commits from further processing.
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\\(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" },
]
# Exclude commits that are not matched by any commit parser.
filter_commits = false
# Order releases topologically instead of chronologically.
topo_order = false
# Order of commits in each group/release within the changelog.
# Allowed values: newest, oldest
sort_commits = "oldest"