chore(deps): update n8nio/n8n docker tag to v1.65.0 #1587
Workflow file for this run
This file contains 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/[email protected] | |
- 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]')" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
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: [email protected] | |
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]') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- uses: pnpm/[email protected] | |
name: Install pnpm | |
id: pnpm-install | |
with: | |
version: 8 | |
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"] | |
}) |