Skip to content

Commit e0ca079

Browse files
committed
Use generalized deploy yaml from spring-cloud-github-actions
1 parent 7d7b14d commit e0ca079

File tree

1 file changed

+14
-127
lines changed

1 file changed

+14
-127
lines changed

.github/workflows/deploy.yml

Lines changed: 14 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ on:
55
branches:
66
- main
77
- 4.3.x
8-
9-
# Equivalent to Timer Trigger (H H * * * = once daily)
8+
9+
# Scheduled builds run daily at midnight UTC
1010
schedule:
11-
- cron: '0 0 * * *' # Runs at midnight UTC daily
12-
13-
# Manual trigger to replicate the BRANCH parameter
11+
- cron: '0 0 * * *'
12+
13+
# Manual trigger with optional branch override
1414
workflow_dispatch:
1515
inputs:
1616
branch:
@@ -19,126 +19,13 @@ on:
1919
default: 'main'
2020
type: string
2121

22-
env:
23-
BRANCH: ${{ github.event.inputs.branch || github.ref_name }}
24-
2522
jobs:
26-
setup:
27-
runs-on: ubuntu-latest
28-
outputs:
29-
matrix: ${{ steps.set-matrix.outputs.matrix }}
30-
steps:
31-
- name: Determine branches and JDK versions
32-
id: set-matrix
33-
run: |
34-
echo "=== Workflow Debug Information ==="
35-
echo "Event name: ${{ github.event_name }}"
36-
echo "Ref name: ${{ github.ref_name }}"
37-
echo "Branch from env: ${{ env.BRANCH }}"
38-
echo ""
39-
40-
# Function to get JDK versions for a branch (returns space-separated list)
41-
get_jdk_versions() {
42-
local branch=$1
43-
if [[ "$branch" == "main" ]] || [[ "$branch" == "4.3.x" ]]; then
44-
echo "17 21 25"
45-
elif [[ "$branch" == "4.2.x" ]] || [[ "$branch" == "4.1.x" ]]; then
46-
echo "17 21"
47-
elif [[ "$branch" == "3.1.x" ]]; then
48-
echo "8 11 17"
49-
else
50-
echo "17 21 25"
51-
fi
52-
}
53-
54-
# Determine which branches to build
55-
if [[ "${{ github.event_name }}" == "schedule" ]]; then
56-
BRANCHES=("main" "4.3.x")
57-
echo "Trigger: Scheduled run - building multiple branches"
58-
else
59-
BRANCHES=("${{ env.BRANCH }}")
60-
echo "Trigger: ${{ github.event_name }} - building single branch"
61-
fi
62-
63-
echo ""
64-
echo "=== Branches to Build ==="
65-
for BRANCH in "${BRANCHES[@]}"; do
66-
echo " - $BRANCH"
67-
done
68-
69-
echo ""
70-
echo "=== Java Versions per Branch ==="
71-
# Build matrix by iterating over branches and their JDK versions
72-
MATRIX_ENTRIES=()
73-
for BRANCH in "${BRANCHES[@]}"; do
74-
JDK_VERSIONS=$(get_jdk_versions "$BRANCH")
75-
echo " $BRANCH: $JDK_VERSIONS"
76-
for VERSION in $JDK_VERSIONS; do
77-
MATRIX_ENTRIES+=("{\"branch\":\"$BRANCH\",\"java-version\":\"$VERSION\"}")
78-
done
79-
done
80-
81-
# Join entries with comma and wrap in array
82-
MATRIX_JSON="[$(IFS=,; echo "${MATRIX_ENTRIES[*]}")]"
83-
84-
echo ""
85-
echo "=== Generated Matrix ==="
86-
echo "$MATRIX_JSON" | python3 -m json.tool || echo "$MATRIX_JSON"
87-
echo ""
88-
89-
echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT
90-
91-
build:
92-
name: Build ${{ matrix.branch }} (JDK ${{ matrix.java-version }})
93-
needs: setup
94-
runs-on: ubuntu-latest
95-
timeout-minutes: 60
96-
strategy:
97-
matrix:
98-
include: ${{ fromJson(needs.setup.outputs.matrix) }}
99-
100-
steps:
101-
- name: Checkout code
102-
uses: actions/checkout@v5
103-
with:
104-
ref: ${{ matrix.branch }}
105-
clean: true # Equivalent to WipeWorkspace extension
106-
107-
- name: Set up JDK ${{ matrix.java-version }}
108-
uses: actions/setup-java@v4
109-
with:
110-
java-version: ${{ matrix.java-version }}
111-
distribution: 'temurin' # OpenJDK distribution
112-
cache: 'maven'
113-
server-id: repo.spring.io
114-
server-username: REPO_SPRING_IO_USERNAME
115-
server-password: REPO_SPRING_IO_PASSWORD
116-
117-
- name: Login to Docker Hub
118-
uses: docker/login-action@v3
119-
with:
120-
username: ${{ secrets.DOCKERHUB_USERNAME }}
121-
password: ${{ secrets.DOCKERHUB_TOKEN }}
122-
123-
- name: Stop running Docker containers
124-
continue-on-error: true
125-
run: |
126-
#!/bin/bash
127-
if command -v timeout &> /dev/null; then
128-
timeout 10s docker ps -a -q | xargs -n 1 -P 8 -I {} docker stop {} || echo "Failed to stop docker... Hopefully you know what you're doing"
129-
fi
130-
131-
- name: Verify Maven installation
132-
run: ./mvnw --version
133-
134-
- name: Build and deploy
135-
env:
136-
REPO_SPRING_IO_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
137-
REPO_SPRING_IO_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
138-
run: |
139-
if [[ "${{ matrix.java-version }}" == "17" ]]; then
140-
./mvnw clean deploy -Pdocs,deploy,spring -B -U
141-
else
142-
./mvnw clean deploy -Pdeploy,spring -B -U
143-
fi
144-
23+
deploy:
24+
uses: spring-cloud/spring-cloud-github-actions/.github/workflows/deploy.yml@main
25+
with:
26+
branch: ${{ inputs.branch }}
27+
secrets:
28+
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
29+
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
30+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
31+
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

0 commit comments

Comments
 (0)