-
Notifications
You must be signed in to change notification settings - Fork 2.5k
67 lines (60 loc) · 2.42 KB
/
Copy pathextension-staging.yml
File metadata and controls
67 lines (60 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Spring Batch Extension Stage
on:
workflow_dispatch:
inputs:
extension:
description: "Extension name"
required: true
type: choice
options:
- spring-batch-bigquery
- spring-batch-excel
- spring-batch-elasticsearch
- spring-batch-neo4j
- spring-batch-notion
- spring-batch-s3
releaseVersion:
description: "Release version"
required: true
javaVersion:
description: "Java version"
required: true
type: choice
options:
- '17'
- '25'
jobs:
build:
name: Build an extension
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
repository: 'spring-projects/spring-batch-extensions'
ref: 'main'
- name: Set up JDK ${{ github.event.inputs.javaVersion }}
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
with:
java-version: '${{ github.event.inputs.javaVersion }}'
distribution: 'temurin'
- name: Update release version
run: ./mvnw versions:set -DgenerateBackupPoms=false -DnewVersion=${{ github.event.inputs.releaseVersion }}
working-directory: ${{ github.event.inputs.extension }}
- name: Enforce release rules
run: ./mvnw org.apache.maven.plugins:maven-enforcer-plugin:enforce -Drules=requireReleaseDeps
working-directory: ${{ github.event.inputs.extension }}
- name: Build with Maven
run: ./mvnw -DaltDeploymentRepository=local::file:deployment-repository --no-transfer-progress --batch-mode -Dmaven.test.skip=true deploy
working-directory: ${{ github.event.inputs.extension }}
- name: Deploy to Artifactory
uses: spring-io/artifactory-deploy-action@926d7f7cc810569395346bf3a4d91b380b3e355b # v0.0.4
with:
uri: 'https://repo.spring.io'
username: ${{ secrets.ARTIFACTORY_USERNAME }}
password: ${{ secrets.ARTIFACTORY_PASSWORD }}
build-name: '${{ github.event.inputs.extension }}-${{ github.event.inputs.releaseVersion }}'
repository: 'libs-staging-local'
folder: '${{ github.event.inputs.extension }}/deployment-repository'
signing-key: ${{ secrets.GPG_PRIVATE_KEY }}
signing-passphrase: ${{ secrets.GPG_PASSPHRASE }}