Skip to content

Commit d9cd24a

Browse files
committed
push.yml: add steps to upload staged artifacts to the CPP
1 parent 9707011 commit d9cd24a

2 files changed

Lines changed: 71 additions & 0 deletions

File tree

.github/workflows/push.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ jobs:
9494
-PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \
9595
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
9696
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
97+
- name: uploadToCentral.sh
98+
if: startsWith(github.ref, 'refs/tags/')
99+
run: |
100+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
101+
-u '${{ secrets.CENTRAL_USERNAME }}'
97102
98103
Java21-MacOSX64:
99104
if: contains(toJson(github.event.commits), '[ci skip] ') == false
@@ -121,6 +126,11 @@ jobs:
121126
-PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \
122127
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
123128
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
129+
- name: uploadToCentral.sh
130+
if: startsWith(github.ref, 'refs/tags/')
131+
run: |
132+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
133+
-u '${{ secrets.CENTRAL_USERNAME }}'
124134
125135
Java21-MacOSX_ARM64:
126136
if: contains(toJson(github.event.commits), '[ci skip] ') == false
@@ -148,6 +158,11 @@ jobs:
148158
-PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \
149159
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
150160
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
161+
- name: uploadToCentral.sh
162+
if: startsWith(github.ref, 'refs/tags/')
163+
run: |
164+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
165+
-u '${{ secrets.CENTRAL_USERNAME }}'
151166
152167
Java21-Windows:
153168
if: contains(toJson(github.event.commits), '[ci skip] ') == false
@@ -180,6 +195,12 @@ jobs:
180195
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
181196
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
182197
shell: bash
198+
- name: uploadToCentral.sh
199+
if: startsWith(github.ref, 'refs/tags/')
200+
run: |
201+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
202+
-u '${{ secrets.CENTRAL_USERNAME }}'
203+
shell: bash
183204

184205
Java21-x-Android:
185206
if: contains(toJson(github.event.commits), '[ci skip] ') == false
@@ -205,6 +226,11 @@ jobs:
205226
-PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \
206227
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
207228
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
229+
- name: uploadToCentral.sh
230+
if: startsWith(github.ref, 'refs/tags/')
231+
run: |
232+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
233+
-u '${{ secrets.CENTRAL_USERNAME }}'
208234
209235
Java21-x-Linux_ARM32hf:
210236
if: contains(toJson(github.event.commits), '[ci skip] ') == false
@@ -233,6 +259,11 @@ jobs:
233259
-PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \
234260
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
235261
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
262+
- name: uploadToCentral.sh
263+
if: startsWith(github.ref, 'refs/tags/')
264+
run: |
265+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
266+
-u '${{ secrets.CENTRAL_USERNAME }}'
236267
237268
Java21-x-Linux_ARM64:
238269
if: contains(toJson(github.event.commits), '[ci skip] ') == false
@@ -261,6 +292,11 @@ jobs:
261292
-PsigningPassword='${{ secrets.SIGNING_PASSWORD }}' \
262293
-PcentralPassword='${{ secrets.CENTRAL_PASSWORD }}' \
263294
-PcentralUsername='${{ secrets.CENTRAL_USERNAME }}'
295+
- name: uploadToCentral.sh
296+
if: startsWith(github.ref, 'refs/tags/')
297+
run: |
298+
bash/uploadToCentral.sh -p '${{ secrets.CENTRAL_PASSWORD }}' \
299+
-u '${{ secrets.CENTRAL_USERNAME }}'
264300
265301
Java21-x-Linux_LoongArch64:
266302
if: contains(toJson(github.event.commits), '[ci skip] ') == false

bash/uploadToCentral.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#! /bin/bash
2+
set -euo pipefail
3+
4+
## Upload the default repository for com.github.stephengold
5+
## (staged using the Portal OSSRH Staging API)
6+
## to the Central Publisher Portal
7+
## so it can be tested and then published or dropped.
8+
9+
## IMPORTANT: The upload request must originate
10+
## from the IP address used to stage the deployment!
11+
12+
# The required -p and -u flags on the command line
13+
# specify the password and username components of a "user token"
14+
# generated using the web interface at https://central.sonatype.com/account
15+
16+
while getopts p:u: flag
17+
do
18+
case "${flag}" in
19+
p) centralPassword=${OPTARG};;
20+
u) centralUsername=${OPTARG};;
21+
esac
22+
done
23+
24+
# Combine both components into a base64 "user token"
25+
# suitable for the Authorization header of a POST request:
26+
27+
token=$(printf %s:%s "${centralUsername}" "${centralPassword}" | base64)
28+
29+
# Send a POST request to upload the repository:
30+
31+
curl --include --request POST \
32+
'https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/com.github.stephengold' \
33+
--header 'accept: */*' \
34+
--header "Authorization: Bearer $token" \
35+
--data ''

0 commit comments

Comments
 (0)