chore(ci): replace charttool with clustertool for CI

fix(ci): download clustertool during CI setup

exclude clustertool-bin
This commit is contained in:
Kjeld Schouten
2025-04-07 19:42:37 +02:00
parent 8d58c9544a
commit 4474374ee1
5 changed files with 53 additions and 6 deletions

View File

@@ -105,7 +105,7 @@ jobs:
charts_path: "./"
run: |
CHANGED=$(echo '${{ steps.list-changed.outputs.CHANGED_CHARTS }}' | jq --raw-output '.[]')
./charttool deps ${CHANGED}
./clustertool-bin deps ${CHANGED}
- name: Run Chart Linting
continue-on-error: true

View File

@@ -58,11 +58,34 @@ jobs:
with:
fetch-depth: 0
- name: Install ./clustertool
shell: bash
run: |
VERSION="1.0.4"
FILENAME="clustertool_${VERSION}_linux_amd64.tar.gz"
URL="https://github.com/truecharts/public/releases/download/v${VERSION}/${FILENAME}"
DEST_DIR="./clustertool-bin"
# Create destination directory if it doesn't exist
mkdir -p "$DEST_DIR"
# Download the archive
curl -L -o "$FILENAME" "$URL"
# Extract the archive
tar -xzf "$FILENAME"
# Move the binary
mv clustertool "$DEST_DIR/"
# Clean up
rm "$FILENAME"
- name: Get Changelog Format Version
shell: bash
if: github.event_name == 'push'
run: |
ver=$(./charttool genchangelog format-version)
ver=$(./clustertool-bin charts genchangelog format-version)
rev="1"
key="changelog-format-$ver-rev-$rev"
echo "Cache Key is: $key"
@@ -96,7 +119,7 @@ jobs:
gunzip "$JSON_FILE.gz" --force # Force overwrite if file already exists
fi
./charttool genchangelog "$REPO_PATH" "$TEMPLATE_PATH" "$OUTPUT_DIR"
./clustertool-bin charts genchangelog "$REPO_PATH" "$TEMPLATE_PATH" "$OUTPUT_DIR"
gzip "$JSON_FILE" --best
- name: Fix Pre-Commit issues
@@ -160,7 +183,7 @@ jobs:
mkdir -p website/public/img/hotlink-ok/chart-icons-small || echo "chart-icons-small path already exists, continuing..."
mkdir -p website/src/assets || echo "assets path already exists, continuing..."
./charttool genchartlist ./charts
./clustertool-bin charts genchartlist ./charts
mv charts.json website/src/assets/charts.json
echo "Copying changelogs to docs"

View File

@@ -34,6 +34,29 @@ jobs:
sudo apt-get -y update
sudo apt-get -y install webp
- name: Install ./clustertool
shell: bash
run: |
VERSION="1.0.4"
FILENAME="clustertool_${VERSION}_linux_amd64.tar.gz"
URL="https://github.com/truecharts/public/releases/download/v${VERSION}/${FILENAME}"
DEST_DIR="./clustertool-bin"
# Create destination directory if it doesn't exist
mkdir -p "$DEST_DIR"
# Download the archive
curl -L -o "$FILENAME" "$URL"
# Extract the archive
tar -xzf "$FILENAME"
# Move the binary
mv clustertool "$DEST_DIR/"
# Clean up
rm "$FILENAME"
- name: Transcode icons to webp
shell: bash
run: |
@@ -75,7 +98,7 @@ jobs:
- name: Fix Chart.yaml
shell: bash
run: |
./charttool genmeta
./clustertool-bin charts genmeta
- name: Ensure Go Mod Tidy
run: |

1
.gitignore vendored
View File

@@ -59,3 +59,4 @@ node_modules/
!archive/website
!repositories/helm
.qodo
clustertool-bin

View File

@@ -35,7 +35,7 @@ repos:
- id: requirements-txt-fixer # sorts entries in requirements.txt.
exclude: ^archive/
- id: check-added-large-files # prevents giant files from being committed.
exclude: \.(png|jpg|jpeg|svg|yaml|yml|tpl|md)$
exclude: \.(png|jpg|jpeg|svg|yaml|yml|tpl|md)$|clustertool-bin$
- id: check-yaml # checks yaml files for parseable syntax.
exclude: (^archive|^website\/public|templates\/.*|crds\/.*|questions.yaml|chart_schema.yaml|common-test\/.*\.yaml|^clustertool)
- id: detect-private-key # detects the presence of private keys.