Skip to content

Commit 91d494e

Browse files
Skip builds if commit only includes CHANGELOG changes (#68)
1 parent dab4280 commit 91d494e

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
**2.0.12 - 10/22/2025**
2+
3+
- Skip Jenkins builds for CHANGELOG-only commits
4+
15
**2.0.11 - 10/7/2025**
26

37
- Stop cacheing secondary uv pip install
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
def call() {
2+
// Check if the latest commit only contains changelog changes
3+
def changedFiles = sh(
4+
script: "git diff --name-only HEAD~1 HEAD || echo ''",
5+
returnStdout: true
6+
).trim()
7+
8+
// If no files are found (i.e. it's an empty commit), return false because
9+
// we are likely pushing an empty commit to trigger a build
10+
if (changedFiles == '') {
11+
return false
12+
}
13+
14+
// Check if all changed files in the latest commit are CHANGELOG files
15+
def hasNonChangelogChanges = sh(
16+
script: """
17+
git diff --name-only HEAD~1 HEAD |
18+
grep -v '^CHANGELOG' |
19+
wc -l || echo '0'
20+
""",
21+
returnStdout: true
22+
).trim().toInteger() > 0
23+
24+
// Return true if there is only changes to the changelog in the latest commit
25+
return !hasNonChangelogChanges
26+
}

vars/reusable_pipeline.groovy

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def call(Map config = [:]){
8585
// time we run pip, poetry, etc.
8686
ACTIVATE_BASE = "source ${CONDA_BIN_PATH}/activate &> /dev/null"
8787
IS_DOC_ONLY_CHANGE = "${is_doc_only_change()}"
88+
IS_CHANGELOG_ONLY_COMMIT = "${is_changelog_only_commit()}"
8889
}
8990

9091
agent { label "coordinator" }
@@ -154,8 +155,15 @@ def call(Map config = [:]){
154155
}
155156

156157
stage("Python Versions") {
158+
// Skip builds if this commit only contains changelog changes
159+
when {
160+
not {
161+
environment name: 'IS_CHANGELOG_ONLY_COMMIT', value: 'true'
162+
}
163+
}
157164
steps {
158165
script {
166+
159167
def buildStages = build_stages()
160168

161169
def parallelPythonVersions = [:]

0 commit comments

Comments
 (0)