fix(deps): update jackett/jackett v0.24.2043 → v0.24.2045 (#2504) #2322
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json | |
| name: Release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - apps/** | |
| - .github/workflows/release.yaml | |
| workflow_dispatch: | |
| inputs: | |
| app: | |
| type: string | |
| description: App Name | |
| required: true | |
| release: | |
| type: boolean | |
| description: Release | |
| required: false | |
| default: false | |
| jobs: | |
| prepare: | |
| name: Prepare | |
| runs-on: | |
| group: default | |
| outputs: | |
| changed-files: ${{ steps.changed-files.outputs.changed_files }} | |
| steps: | |
| - name: Get Changed Files | |
| uses: bjw-s-labs/action-changed-files@a9a36fb08ce06db9b02fbd8026cc2c0945eb9841 # v0.6.0 | |
| id: changed-files | |
| with: | |
| path: apps | |
| include_only_directories: true | |
| max_depth: 1 | |
| changed: | |
| if: ${{ needs.prepare.outputs.changed-files != '[]' || github.event_name == 'workflow_dispatch' }} | |
| name: Get Changed Apps | |
| needs: | |
| - prepare | |
| runs-on: | |
| group: default | |
| outputs: | |
| apps: ${{ steps.apps.outputs.apps }} | |
| steps: | |
| - name: Get Apps | |
| uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 | |
| id: apps | |
| env: | |
| APPS: ${{ github.event_name == 'workflow_dispatch' && inputs.app || join(fromJSON(needs.prepare.outputs.changed-files), ' ') }} | |
| with: | |
| script: |- | |
| const { APPS } = process.env; | |
| const appsToBuild = APPS.split(' ').filter(Boolean); | |
| core.setOutput('apps', JSON.stringify(appsToBuild)); | |
| console.log('apps:', JSON.stringify(appsToBuild, null, 2)); | |
| core.summary.addHeading('Apps to build:').addList(appsToBuild).write(); | |
| build: | |
| if: ${{ needs.changed.outputs.apps != '[]' }} | |
| name: Build ${{ matrix.app }} | |
| needs: | |
| - changed | |
| uses: ./.github/workflows/app-builder.yaml | |
| permissions: | |
| attestations: write | |
| contents: write | |
| id-token: write | |
| packages: write | |
| security-events: write | |
| secrets: inherit | |
| strategy: | |
| matrix: | |
| app: ${{ fromJSON(needs.changed.outputs.apps) }} | |
| fail-fast: false | |
| max-parallel: 4 | |
| with: | |
| app: ${{ matrix.app }} | |
| release: ${{ github.event_name == 'workflow_dispatch' && inputs.release || github.event_name == 'push' }} | |
| container-docs: | |
| if: ${{ !cancelled() && !contains(needs.build.result, 'failure') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') }} | |
| name: Container Docs | |
| needs: | |
| - build | |
| runs-on: | |
| group: default | |
| concurrency: | |
| group: container-docs | |
| cancel-in-progress: false | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Forgetool | |
| shell: bash | |
| env: | |
| GITHUB_TOKEN: ${{ inputs.token }} | |
| run: |- | |
| TAG="" | |
| if RELEASES_JSON="$(curl -fsSL \ | |
| -H "Authorization: Bearer ${GITHUB_TOKEN}" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/trueforge-org/forgetool/releases/latest)"; then | |
| TAG="$(jq -r '.tag_name // empty' <<< "${RELEASES_JSON}")" | |
| fi | |
| [ -n "${TAG}" ] && [ "${TAG}" != "null" ] || { | |
| echo "Failed to determine latest stable forgetool release tag, falling back to v4.1.1" | |
| TAG="v4.1.1" | |
| } | |
| VERSION="${TAG#v}" | |
| VERSION="${VERSION#forgetool-v}" | |
| case "$(uname -m)" in | |
| x86_64) ARCH="amd64" ;; | |
| aarch64) ARCH="arm64" ;; | |
| *) echo "Unsupported uname architecture: $(uname -m). Supported uname values: x86_64, aarch64." && exit 1 ;; | |
| esac | |
| curl -fsSL -o "${RUNNER_TEMP}/forgetool.tar.gz" "https://github.com/trueforge-org/forgetool/releases/download/${TAG}/forgetool_${VERSION}_linux_${ARCH}.tar.gz" || { echo "Failed to download forgetool release ${TAG} for linux_${ARCH}"; exit 1; } | |
| mkdir -p "${RUNNER_TEMP}/forgetool-bin" | |
| tar -xzf "${RUNNER_TEMP}/forgetool.tar.gz" -C "${RUNNER_TEMP}/forgetool-bin" forgetool || { echo "Failed to extract forgetool binary from archive"; exit 1; } | |
| chmod +x "${RUNNER_TEMP}/forgetool-bin/forgetool" | |
| echo "${RUNNER_TEMP}/forgetool-bin" >> "${GITHUB_PATH}" | |
| - name: Checkout website repo | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| with: | |
| repository: trueforge-org/websites | |
| path: website | |
| ref: main | |
| token: "${{ secrets.BOT_TOKEN }}" | |
| - name: Generate container list | |
| run: | | |
| forgetool containers genlist ./apps | |
| mkdir -p website/containerforge/src/assets | |
| mv -f containers.json website/containerforge/src/assets/containers.json | |
| - name: Fix Pre-Commit issues | |
| 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 | |
| - name: Get Changelog Format Version | |
| run: | | |
| ver="1" | |
| rev="1" | |
| key="changelog-format-$ver-rev-$rev" | |
| echo "Cache Key is: $key" | |
| echo "CHANGELOG_CACHE_KEY=$key" >> $GITHUB_ENV | |
| - name: Cache Changelog | |
| id: cache-changelog | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| key: ${{ env.CHANGELOG_CACHE_KEY }}-${{ hashFiles('**/docker-bake.hcl') }} | |
| path: changelog.json.gz | |
| restore-keys: | | |
| ${{ env.CHANGELOG_CACHE_KEY }}-${{ hashFiles('**/docker-bake.hcl') }} | |
| ${{ env.CHANGELOG_CACHE_KEY }}- | |
| - name: Generate changelogs | |
| run: | | |
| export REPO_PATH="./" | |
| export TEMPLATE_PATH="./templates/CHANGELOG.md.tmpl" | |
| export OUTPUT_DIR="./changelogs" | |
| export JSON_FILE="changelog.json" | |
| if [ -f "$JSON_FILE.gz" ]; then | |
| gunzip "$JSON_FILE.gz" --force | |
| fi | |
| forgetool containers genchangelog "$REPO_PATH" "$TEMPLATE_PATH" "$OUTPUT_DIR" | |
| gzip "$JSON_FILE" --best || echo "Compression failed, ignoring..." | |
| - name: Copy docs to website | |
| run: | | |
| #!/bin/bash | |
| forgetool containers gendocs \ | |
| --apps-dir apps \ | |
| --website-dir website \ | |
| --template templates/README.md.tmpl \ | |
| --icon-fallback-base-url https://raw.githubusercontent.com/trueforge-org/truecharts/refs/heads/master/charts/stable | |
| - name: Commit and push changes | |
| run: | | |
| cd website | |
| git config user.name "TrueForge-Bot" | |
| git config user.email "bot@trueforge.org" | |
| # Ensure we rebase in case there are changes from other sources in-between | |
| git stash push --include-untracked -m "autogenerated ContainerForge changes" | |
| git pull --rebase origin main | |
| git stash pop | |
| git add . | |
| git diff-index --quiet HEAD || git commit -m "Update website with latest container docs" | |
| git push origin main | |
| status: | |
| if: ${{ !cancelled() }} | |
| name: Build Success | |
| needs: | |
| - build | |
| runs-on: | |
| group: default | |
| steps: | |
| - name: Any jobs failed? | |
| if: ${{ contains(needs.*.result, 'failure') }} | |
| run: |- | |
| exit 1 | |
| - name: All jobs passed or skipped? | |
| if: ${{ !(contains(needs.*.result, 'failure')) }} | |
| run: |- | |
| echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}" | |