readme-generator: update readme #6773
Workflow file for this run
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
| name: Renovate CI | ||
| on: | ||
| pull_request: | ||
| jobs: | ||
| get-last-commit-message: | ||
| if: contains(github.head_ref, 'renovate/') | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4.3.0 | ||
| - name: Get last commit message | ||
| id: get-last-commit-message | ||
| run: | | ||
| echo "last_commit_message=$(git log -1 --pretty=%B)" >> $GITHUB_OUTPUT | ||
| update-config: | ||
| needs: get-last-commit-message | ||
| if: "!contains(${{ needs.get-last-commit-message.outputs.last_commit_message }}, '[ready]')" | ||
|
Check warning on line 20 in .github/workflows/renovate-ci.yml
|
||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4.3.0 | ||
| with: | ||
| fetch-depth: 0 # Fetch all history | ||
| - name: Get changed files | ||
| uses: jitterbit/get-changed-files@v1 | ||
| id: files | ||
| - name: Apply config update | ||
| run: | | ||
| for changed_file in ${{ steps.files.outputs.all }}; do | ||
| echo "Changed file: $changed_file" # example: apps/jackett/docker-compose.yml | ||
| if [[ $changed_file == *"docker-compose.yml"* ]]; then | ||
| app_name=$(echo $changed_file | cut -d'/' -f 2) | ||
| echo "App name: $app_name" | ||
| ./.github/workflows/renovate-app-version.sh $app_name | ||
| fi | ||
| done | ||
| - name: Commit and push changes | ||
| uses: EndBug/add-and-commit@v9 | ||
| with: | ||
| author_name: Big Bear CI | ||
| author_email: ci@bigbeartechworld.com | ||
| message: "Update app version [ready]" | ||
| commit: --no-verify | ||
| push: origin HEAD:${{ github.head_ref }} | ||
| ci: | ||
| needs: | ||
| - update-config | ||
| - get-last-commit-message | ||
| if: contains(${{ needs.get-last-commit-message.outputs.last_commit_message }}, '[ready]') | ||
|
Check warning on line 56 in .github/workflows/renovate-ci.yml
|
||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4.3.0 | ||
| - name: Install Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 20 | ||
| - uses: pnpm/action-setup@v4.2.0 | ||
| name: Install pnpm | ||
| id: pnpm-install | ||
| with: | ||
| version: 10 | ||
| run_install: false | ||
| - name: Get pnpm store directory | ||
| id: pnpm-cache | ||
| run: | | ||
| echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT | ||
| - uses: actions/cache@v4 | ||
| name: Setup pnpm cache | ||
| with: | ||
| path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | ||
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-pnpm-store- | ||
| - name: Install dependencies | ||
| run: pnpm install | ||
| - name: Check bumped version | ||
| id: check-bumped-version | ||
| uses: actions/github-script@v7 | ||
| with: | ||
| github-token: ${{ secrets.GITHUB_TOKEN }} | ||
| script: | | ||
| const semver = require('semver') | ||
| const { data } = await github.rest.pulls.listFiles({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| pull_number: context.issue.number | ||
| }); | ||
| const modifiedFiles = data.map(file => file.filename); | ||
| const filesInAppsFolder = modifiedFiles.filter(file => file.includes('Apps/')) | ||
| // Exclude README.md from major bump or blocking automerge | ||
| const significantChanges = modifiedFiles.filter(file => !file.includes('README.md')); | ||
| if (filesInAppsFolder.length < significantChanges.length) { | ||
| console.log('Not all significant files are in apps folder, skipping automerge') | ||
| core.setOutput('major_bump', 'true') | ||
| return | ||
| } | ||
| const configs = modifiedFiles.filter(file => file.includes('config.json')) | ||
| let majorBump = 'false' | ||
| for (const configFile of configs) { | ||
| const baseContent = await github.rest.repos.getContent({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| path: configFile, | ||
| ref: context.payload.pull_request.base.ref | ||
| }); | ||
| const baseConfig = JSON.parse(Buffer.from(baseContent.data.content, 'base64').toString('utf-8')) | ||
| const currentContent = await github.rest.repos.getContent({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| path: configFile, | ||
| ref: context.payload.pull_request.head.ref | ||
| }); | ||
| const currentConfig = JSON.parse(Buffer.from(currentContent.data.content, 'base64').toString('utf-8')) | ||
| const baseVersion = semver.coerce(baseConfig.version) | ||
| const currentVersion = semver.coerce(currentConfig.version) | ||
| if (currentVersion?.major > baseVersion?.major) { | ||
| console.log('Major bump detected, skipping automerge') | ||
| majorBump = 'true' | ||
| break | ||
| } | ||
| } | ||
| core.setOutput('major_bump', majorBump) | ||
| - name: Label this PR as "automerge" if major_bump is false | ||
| if: steps.check-bumped-version.outputs.major_bump == 'false' | ||
| uses: actions/github-script@v7 | ||
| with: | ||
| github-token: ${{ secrets.PERSONAL_TOKEN }} | ||
| script: | | ||
| github.rest.issues.addLabels({ | ||
| issue_number: context.issue.number, | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| labels: ["automerge"] | ||
| }) | ||