Skip to content

Commit b5306d0

Browse files
authored
Skip unchanged nightly builds (#123)
1 parent a9ea859 commit b5306d0

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

.github/workflows/release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,52 @@ on:
66
workflow_dispatch:
77

88
jobs:
9+
check:
10+
runs-on: ubuntu-latest
11+
outputs:
12+
proceed: ${{ steps.check.outputs.proceed }}
13+
permissions:
14+
contents: read
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Check for changes since last nightly tag
23+
id: check
24+
run: |
25+
PROCEED="true"
26+
27+
if [[ "${{ github.event_name }}" == "schedule" ]]; then
28+
echo "Schedule trigger: Checking changes..."
29+
30+
LATEST_NIGHTLY_TAG=$(git tag --sort=-creatordate --list '*-nightly.*' | head -n 1)
31+
32+
if [[ -n "$LATEST_NIGHTLY_TAG" ]]; then
33+
echo "Latest nightly tag found: $LATEST_NIGHTLY_TAG"
34+
LATEST_NIGHTLY_COMMIT=$(git rev-list -n 1 "$LATEST_NIGHTLY_TAG" 2>/dev/null)
35+
CURRENT_HEAD_COMMIT=$(git rev-parse HEAD)
36+
37+
echo "Commit for tag $LATEST_NIGHTLY_TAG: $LATEST_NIGHTLY_COMMIT"
38+
echo "Current HEAD commit: $CURRENT_HEAD_COMMIT"
39+
40+
if [[ "$LATEST_NIGHTLY_COMMIT" == "$CURRENT_HEAD_COMMIT" ]]; then
41+
echo "No code changes detected since the last nightly release ($LATEST_NIGHTLY_TAG)."
42+
PROCEED="false"
43+
else
44+
echo "Code changes detected since $LATEST_NIGHTLY_TAG. Proceeding with build."
45+
fi
46+
else
47+
echo "No previous nightly tag found. Proceeding with build."
48+
fi
49+
else
50+
echo "Manual trigger ('${{ github.event_name }}'). Proceeding with build."
51+
fi
52+
53+
echo "proceed=$PROCEED" >> $GITHUB_OUTPUT
54+
955
build:
1056
strategy:
1157
matrix:
@@ -22,6 +68,8 @@ jobs:
2268
artifact_name: lute-windows-x86_64
2369
fail-fast: false
2470

71+
needs: check
72+
if: ${{ needs.check.outputs.proceed == 'true' }}
2573
runs-on: ${{ matrix.os }}
2674

2775
steps:

0 commit comments

Comments
 (0)