name: "Chore: Daily Tasks" on: schedule: - cron: "0 0 * * *" workflow_dispatch: permissions: issues: write pull-requests: write concurrency: group: lock jobs: generate-readme: runs-on: actions-runners name: "Generate readme files" container: image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3 steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ secrets.OR_PAT }} fetch-depth: 1 - name: Setting repo parent dir as safe safe.directory run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5 with: go-version: stable cache: true cache-dependency-path: | **/go.mod **/go.sum - name: Install ./clustertool shell: bash run: | VERSION="2.0.0-BETA-17" FILENAME="clustertool_${VERSION}_linux_amd64.tar.gz" URL="https://github.com/truecharts/public/releases/download/v${VERSION}/${FILENAME}" mkdir -p temp cd temp # Download the archive curl -L -o "$FILENAME" "$URL" # Extract the archive tar -xzf "$FILENAME" cd .. - name: Transcode icons to webp shell: bash run: | # Find all files named icon.* in all subfolders and transcode to webp find . -type f -name 'icon.*' | while read -r FILE do DIR=$(dirname "$FILE") # get the directory of the current file EXT=${FILE##*.} # file extension QUALITY=75 # quality for the image # Transcode to icon.webp if [[ "$EXT" != "webp" && ! -f "${DIR}/icon.webp" ]]; then echo "converting file to icon.webp: $FILE" cwebp -resize 150 150 -m 6 -mt -q $QUALITY "$FILE" -o "${FILE/%.$EXT/.webp}" &>/dev/null || echo "transcode failed for icon.webp" fi # Transcode to icon-small.webp if [[ "$EXT" != "webp" && ! -f "${DIR}/icon-small.webp" ]]; then echo "converting file to icon-small.webp: $FILE" cwebp -resize 32 32 -m 6 -mt -q $QUALITY "$FILE" -o "${DIR}/icon-small.webp" &>/dev/null || echo "transcode failed for icon-small.webp" fi # Remove the original file if it's not a .webp file after both transcodes if [[ "$EXT" != "webp" ]]; then rm "$FILE" fi done - name: Fix Fixable Pre-Commit issues shell: bash run: | echo "Running pre-commit test-and-cleanup..." pre-commit run --all ||: # Fix sh files to always be executable find . -name '*.sh' | xargs chmod +x # Clean up chart.yaml after pre-commit changes # Avoids un-needed git diff changes, due to quoting and array ordering - name: Fix Chart.yaml shell: bash run: | ./temp/clustertool charts genmeta - name: Ensure Go Mod Tidy run: | cd ./clustertool go mod tidy cd .. - name: Cleanup run: | rm -rf changes.json rm -rf master - name: Commit changes run: | git config user.name "TrueCharts-Bot" git config user.email "bot@truecharts.org" git pull git add --all git commit -sm "Commit daily changes" || exit 0 git push lock-threads: runs-on: actions-runners steps: - uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5 with: github-token: ${{ secrets.BOT_TOKEN }} issue-inactive-days: "7" exclude-any-issue-labels: "" issue-comment: "This issue is locked to prevent necro-posting on closed issues. Please create a new issue or contact staff on discord of the problem persists" issue-lock-reason: "" pr-inactive-days: "7" pr-comment: "This PR is locked to prevent necro-posting on closed PRs. Please create a issue or contact staff on discord if you want to further discuss this" pr-lock-reason: "resolved" log-output: true # check-contributors: # name: Check Contributors # runs-on: actions-runners # steps: # - name: Checkout # uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 # with: # token: ${{ secrets.BOT_TOKEN }} # repository: truecharts/charts # fetch-depth: 110 # # - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 # with: # node-version: 18 # # - uses: borales/actions-yarn@3766bb1335b98fb13c60eaf358fe20811b730a88 # v5.0.0 # with: # cmd: install --frozen-lockfile # # - name: List missing and unknown contributors # env: # PRIVATE_TOKEN: ${{ secrets.BOT_TOKEN }} # run: | # awk -F', ' '{ for( i=1; i<=NF; i++ ) print $i }' <<<$(yarn all-contributors check)