Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .tekton/listeners/prod-dependency-bot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ spec:
value: $(params.prod-deps-pr-limit)
- name: org-pr-limit
value: $(params.org-pr-limit)
- name: skip-deps
value: $(params.skip-deps)
- name: pl-name
value: "prod-dependency-bot-$(params.node-version)"
- name: pipeline-ref
Expand Down
4 changes: 4 additions & 0 deletions .tekton/pipeline/prod-dependency-bot-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ spec:
value: $(params.prod-deps-pr-limit)
- name: org-pr-limit
value: $(params.org-pr-limit)
- name: skip-deps
value: $(params.skip-deps)
workspaces:
- name: artifacts
tasks:
Expand Down Expand Up @@ -156,6 +158,8 @@ spec:
value: $(params.prod-deps-pr-limit)
- name: org-pr-limit
value: $(params.org-pr-limit)
- name: skip-deps
value: $(params.skip-deps)
workspaces:
- name: output
workspace: artifacts
6 changes: 5 additions & 1 deletion .tekton/pipeline/trigger-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ spec:
value: $(params.pr-payload)
- name: org-pr-limit
value: $(params.org-pr-limit)
- name: skip-deps
value: $(params.skip-deps)

resourcetemplates:
- apiVersion: v1
Expand Down Expand Up @@ -139,4 +141,6 @@ spec:
- name: pr-payload
value: $(params.pr-payload)
- name: org-pr-limit
value: $(params.org-pr-limit)
value: $(params.org-pr-limit)
- name: skip-deps
value: $(params.skip-deps)
4 changes: 3 additions & 1 deletion .tekton/tasks/update-prod-dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ spec:
value: $(params.prod-deps-pr-limit)
- name: org-pr-limit
value: $(params.org-pr-limit)
- name: skip-deps
value: $(params.skip-deps)
workspaces:
- name: output
mountPath: /artifacts
Expand Down Expand Up @@ -52,6 +54,6 @@ spec:
gh auth login --with-token

echo "Running production dependency updates..."
PROD_DEPS_PR_LIMIT=$(params.prod-deps-pr-limit) ORG_PR_LIMIT=$(params.org-pr-limit) BRANCH=build node bin/dependencies/production/update-prod-dependencies.js
PROD_DEPS_PR_LIMIT=$(params.prod-deps-pr-limit) ORG_PR_LIMIT=$(params.org-pr-limit) SKIP_DEPS=$(params.skip-deps) BRANCH=build node bin/dependencies/production/update-prod-dependencies.js


6 changes: 6 additions & 0 deletions bin/dependencies/production/update-prod-dependencies.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const BRANCH = process.env.BRANCH;
const SKIP_PUSH = process.env.SKIP_PUSH === 'true';
const PROD_DEPS_PR_LIMIT = process.env.PROD_DEPS_PR_LIMIT || 5;
const ORG_PR_LIMIT = process.env.ORG_PR_LIMIT || 2;
const SKIP_DEPS = process.env.SKIP_DEPS ? process.env.SKIP_DEPS.split(',').map(p => p.trim()) : [];
const cwd = path.join(__dirname, '..', '..', '..');

if (!BRANCH) throw new Error('Please set env variable "BRANCH".');
Expand All @@ -19,6 +20,7 @@ console.log(`BRANCH: ${BRANCH}`);
console.log(`SKIP_PUSH: ${SKIP_PUSH}`);
console.log(`PROD_DEPS_PR_LIMIT: ${PROD_DEPS_PR_LIMIT}`);
console.log(`ORG_PR_LIMIT: ${ORG_PR_LIMIT}`);
console.log(`SKIP_DEPS: ${SKIP_DEPS.length ? SKIP_DEPS.join(', ') : '(none)'}`);

const updatedProdDeps = [];
const orgPrCount = {};
Expand All @@ -40,6 +42,10 @@ pkgPaths.forEach(obj => {
});

Object.entries(dependencyMap).some(([dep, usageList]) => {
if (SKIP_DEPS.includes(dep)) {
console.log(`Skipping ${dep}. It is listed in SKIP_DEPS.`);
return false;
}
if (updatedProdDeps.length >= PROD_DEPS_PR_LIMIT) return true;

const orgName = dep.startsWith('@') ? dep.split('/')[0] : null;
Expand Down