From ac03fff0f3f88631070f3db0c8e5bf4ff7b3054d Mon Sep 17 00:00:00 2001 From: AnActualEmerald Date: Sun, 24 Dec 2023 14:44:44 -0500 Subject: [PATCH] feat: support community categories (#29) * Update tcli image * Use community categories * use riskofrain2 as test community * don't force 'test' community for for dev option --- .github/workflows/test.yml | 5 +-- Dockerfile.tcli | 7 ++-- cfg_edit.js | 2 +- cliff.toml | 75 ++++++++++++++++++++++++++++++++++++++ entrypoint.sh | 5 --- 5 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 cliff.toml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 67540cd..bc81c4a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,9 +2,6 @@ name: Test Action on: push: - branches: - - main - - dev pull_request: branches: - main @@ -34,7 +31,7 @@ jobs: The second time you fail to complete a lap before the sound, your test is over. The test will begin on the word start. On your mark, get ready, start. version: v0.${{ github.run_number }}.0 - community: test # needs to be test for thunderstore.dev + community: riskofrain2 repo: thunderstore.dev wrap: mods website: "https://greenboi.me" diff --git a/Dockerfile.tcli b/Dockerfile.tcli index 2a80abf..a310adf 100644 --- a/Dockerfile.tcli +++ b/Dockerfile.tcli @@ -1,6 +1,7 @@ FROM denoland/deno +ARG VERSION=0.2.3 RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/* -RUN ["wget", "-O", "tcli.tar.gz", "https://github.com/thunderstore-io/thunderstore-cli/releases/download/0.2.1/tcli-0.2.1-linux-x64.tar.gz"] -RUN ["tar", "xvf", "tcli.tar.gz"] -RUN ["mv", "-v", "tcli-0.2.1-linux-x64/tcli", "/bin/tcli"] +RUN wget -O tcli.tar.gz https://github.com/thunderstore-io/thunderstore-cli/releases/download/${VERSION}/tcli-${VERSION}-linux-x64.tar.gz +RUN tar xvf tcli.tar.gz +RUN mv -v tcli-${VERSION}-linux-x64/tcli /bin/tcli ENTRYPOINT ["/bin/bash"] \ No newline at end of file diff --git a/cfg_edit.js b/cfg_edit.js index fcbf601..3148903 100644 --- a/cfg_edit.js +++ b/cfg_edit.js @@ -42,7 +42,7 @@ if (nsfw && nsfw === "true" ) { if (categories && categories !== "") { console.log(`::debug::Parsing categories: ${categories}`); - tstore.publish.categories = categories.split(',') + tstore.publish.categories[community] = categories.split(',') .filter(e => e) //only keep truthy elements .map(e=> e.toLowerCase().trim()); } diff --git a/cliff.toml b/cliff.toml new file mode 100644 index 0000000..0a88218 --- /dev/null +++ b/cliff.toml @@ -0,0 +1,75 @@ +# 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. + +[changelog] +# changelog header +header = """ +# Changelog\n +All notable changes to this project will be documented in this file.\n +""" +# template for the changelog body +# https://tera.netlify.app/docs +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 %} + - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\ + {% endfor %} +{% endfor %}\n +""" +# remove the leading and trailing whitespace from the template +trim = true +# changelog footer +footer = """ + +""" + +[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 = [ + # { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/orhun/git-cliff/issues/${2}))"}, # replace issue numbers +] +# regex for parsing and grouping commits +commit_parsers = [ + { message = "^feat", group = "Features" }, + { message = "^fix", group = "Bug Fixes" }, + { message = "^doc", group = "Documentation" }, + { message = "^perf", group = "Performance" }, + { message = "^refactor", group = "Refactor" }, + { message = "^style", group = "Styling" }, + { message = "^test", group = "Testing" }, + { message = "^chore\\(release\\): prepare for", skip = true }, + { message = "^chore", group = "Miscellaneous Tasks" }, + { body = ".*security", group = "Security" }, +] +# protect breaking changes from being skipped due to matching a skipping commit_parser +protect_breaking_commits = false +# filter out the commits that are not matched by commit parsers +filter_commits = false +# glob pattern for matching git tags +tag_pattern = "v[0-9]*" +# regex for skipping tags +skip_tags = "v0.1.0-beta.1" +# regex for ignoring tags +ignore_tags = "" +# sort the tags topologically +topo_order = false +# sort the commits inside sections by oldest/newest order +sort_commits = "oldest" +# limit the number of commits included in the changelog. +# limit_commits = 42 diff --git a/entrypoint.sh b/entrypoint.sh index e31fa30..643cf42 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -46,14 +46,9 @@ function configure(){ #tcli usage based off of https://github.com/R2Northstar/Northstar/blob/d8ad8f12f8bca1e8de96f5d7163f71997d487218/.github/workflows/build.yml#L132-L192 echo "Init tcli config" tcli init --package-name ${TS_NAME} --package-namespace ${TS_NAMESPACE} --package-version ${TS_VERSION#v} - - if [ -n "$TS_DEV" ]; then - TS_COMMUNITY="test" - fi echo $(deno run --allow-net --allow-env --allow-read --allow-write cfg_edit.js) - echo "Done config edit" echo echo "::debug::$(cat thunderstore.toml)"