-
Notifications
You must be signed in to change notification settings - Fork 15
144 lines (128 loc) · 6.97 KB
/
release_asset_upload.yml
File metadata and controls
144 lines (128 loc) · 6.97 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: Upload Release Assets
on:
release:
types: [published]
env:
TAG: ${{ github.event.release.tag_name }}
H2_PACKAGE_NAME: digirunner-opensource-h2pack-${{ github.event.release.tag_name }}
MAC_ARM64_PACKAGE_NAME: digirunner-opensource-macos-arm64-${{ github.event.release.tag_name }}
WIN_AMD64_PACKAGE_NAME: digirunner-opensource-windows-amd64-${{ github.event.release.tag_name }}
QUICKSTART_VERSION: 1.3.8
TEMP_DIR: ${{ github.workspace }}/temp
DOWNLOADS_DIR: ${{ github.workspace }}/downloads
MAC_JRE_URL: https://cdn.azul.com/zulu/bin/zulu21.42.19-ca-jre21.0.7-macosx_aarch64.zip
WIN_JRE_URL: https://cdn.azul.com/zulu/bin/zulu21.42.19-ca-jre21.0.7-win_x64.zip
jobs:
build_and_upload_assets:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.tag_name }}
- name: Set up Zulu JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'zulu'
- name: Build with Gradle
run: |
chmod +x ./gradlew
./gradlew :dgrv4_Gateway_serv:clean :dgrv4_Gateway_serv:bootJar
- name: Create release directory
run: |
mkdir -p ${{ env.H2_PACKAGE_NAME }}/keys
mkdir -p ${{ env.TEMP_DIR }}/win
mkdir -p ${{ env.TEMP_DIR }}/mac
mkdir -p ${{ env.DOWNLOADS_DIR }}/win
mkdir -p ${{ env.DOWNLOADS_DIR }}/mac
- name: Copy JAR and other assets
run: |
mv dgrv4_Gateway_serv/build/libs/* ${{ env.H2_PACKAGE_NAME }}/
mv dgrv4_Gateway_serv/keys/* ${{ env.H2_PACKAGE_NAME }}/keys/
mv ${{ env.H2_PACKAGE_NAME }}/*.jar ${{ env.H2_PACKAGE_NAME }}/digirunner.jar
- name: Download Windows amd64 TPIsoftwareOSPO quickstart portable
uses: robinraju/release-downloader@v1
with:
repository: TPIsoftwareOSPO/quickstart
tag: v${{ env.QUICKSTART_VERSION }}
fileName: "quickstart-portable_${{ env.QUICKSTART_VERSION }}_windows_amd64.zip"
out-file-path: ${{ env.DOWNLOADS_DIR }}
- name: Download Macos M chip TPIsoftwareOSPO quickstart portable
uses: robinraju/release-downloader@v1
with:
repository: TPIsoftwareOSPO/quickstart
tag: v${{ env.QUICKSTART_VERSION }}
fileName: "quickstart-portable_${{ env.QUICKSTART_VERSION }}_darwin_arm64.tar.gz"
out-file-path: ${{ env.DOWNLOADS_DIR }}
- name: Download Java 21 JRE from Azul Zulu
run: |
echo "Downloading Win Java JRE from: ${{ env.WIN_JRE_URL }}"
curl -L -o ${{ env.DOWNLOADS_DIR }}/win/java_jre.zip ${{ env.WIN_JRE_URL }}
if [ $? -ne 0 ]; then
echo "Error: Java JRE download failed from ${{ env.WIN_JRE_URL }}"
exit 1
fi
echo "Downloading Mac Java JRE from: ${{ env.MAC_JRE_URL }}"
curl -L -o ${{ env.DOWNLOADS_DIR }}/mac/java_jre.zip ${{ env.MAC_JRE_URL }}
if [ $? -ne 0 ]; then
echo "Error: Java JRE download failed from ${{ env.MAC_JRE_URL }}"
exit 1
fi
- name: Extract Java JRE packages
run: |
unzip -q ${{ env.DOWNLOADS_DIR }}/win/java_jre.zip -d ${{ env.TEMP_DIR }}/win && rm ${{ env.DOWNLOADS_DIR }}/win/java_jre.zip
unzip -q ${{ env.DOWNLOADS_DIR }}/mac/java_jre.zip -d ${{ env.TEMP_DIR }}/mac && rm ${{ env.DOWNLOADS_DIR }}/mac/java_jre.zip
mv ${{ env.TEMP_DIR }}/win/zulu21.42.19-ca-jre21.0.7-win_x64 ${{ env.TEMP_DIR }}/win/jre
mv ${{ env.TEMP_DIR }}/mac/zulu21.42.19-ca-jre21.0.7-macosx_aarch64 ${{ env.TEMP_DIR }}/mac/jre
echo "ls -l ${{ env.TEMP_DIR }}/win/jre"
ls -l ${{ env.TEMP_DIR }}/win/jre
echo "ls -l ${{ env.TEMP_DIR }}/mac/jre"
ls -l ${{ env.TEMP_DIR }}/mac/jre
- name: Packet Mac Portable
run: |
mkdir ${{ env.MAC_ARM64_PACKAGE_NAME }}
mkdir -p ${{ env.TEMP_DIR }}/${{ env.MAC_ARM64_PACKAGE_NAME }}/quickstart
tar -xzf ${{ env.DOWNLOADS_DIR }}/quickstart-portable_${{ env.QUICKSTART_VERSION }}_darwin_arm64.tar.gz -C ${{ env.TEMP_DIR }}/${{ env.MAC_ARM64_PACKAGE_NAME }}/quickstart
ls -al ${{ env.TEMP_DIR }}/${{ env.MAC_ARM64_PACKAGE_NAME }}/quickstart
mv ${{ env.TEMP_DIR }}/${{ env.MAC_ARM64_PACKAGE_NAME }}/quickstart/quickstart-portable ${{ env.MAC_ARM64_PACKAGE_NAME }}/quickstart
mv ${{ env.TEMP_DIR }}/mac/jre ${{ env.MAC_ARM64_PACKAGE_NAME }}
mv deploys/quickstart/quickstart-mac.yaml ${{ env.MAC_ARM64_PACKAGE_NAME }}/quickstart.yaml
mkdir -p ${{ env.MAC_ARM64_PACKAGE_NAME }}/digirunner
cp -R ${{ env.H2_PACKAGE_NAME }}/* ${{ env.MAC_ARM64_PACKAGE_NAME }}/digirunner
- name: Packet Windows Portable
run: |
mkdir ${{ env.WIN_AMD64_PACKAGE_NAME }}
mkdir -p ${{ env.TEMP_DIR }}/${{ env.WIN_AMD64_PACKAGE_NAME }}/quickstart
unzip ${{ env.DOWNLOADS_DIR }}/quickstart-portable_${{ env.QUICKSTART_VERSION }}_windows_amd64.zip -d ${{ env.TEMP_DIR }}/${{ env.WIN_AMD64_PACKAGE_NAME }}/quickstart
ls -al ${{ env.TEMP_DIR }}/${{ env.WIN_AMD64_PACKAGE_NAME }}/quickstart
mv ${{ env.TEMP_DIR }}/${{ env.WIN_AMD64_PACKAGE_NAME }}/quickstart/quickstart-portable.exe ${{ env.WIN_AMD64_PACKAGE_NAME }}/quickstart.exe
mv ${{ env.TEMP_DIR }}/win/jre ${{ env.WIN_AMD64_PACKAGE_NAME }}
mv deploys/quickstart/quickstart-windows.yaml ${{ env.WIN_AMD64_PACKAGE_NAME }}/quickstart.yaml
mkdir -p ${{ env.WIN_AMD64_PACKAGE_NAME }}/digirunner
cp -R ${{ env.H2_PACKAGE_NAME }}/* ${{ env.WIN_AMD64_PACKAGE_NAME }}/digirunner
- name: Zip release assets
run: |
zip -q -r ${{ env.H2_PACKAGE_NAME }}.zip ${{ env.H2_PACKAGE_NAME }}/
zip -q -r ${{ env.MAC_ARM64_PACKAGE_NAME }}.zip ${{ env.MAC_ARM64_PACKAGE_NAME }}/
zip -q -r ${{ env.WIN_AMD64_PACKAGE_NAME }}.zip ${{ env.WIN_AMD64_PACKAGE_NAME }}/
- name: Create GitHub Release and Upload Asset
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.TAG }}
name: ${{ env.TAG }}
body: |
### Files:
- `${{ env.H2_PACKAGE_NAME }}.zip`: digirunner with dependencies and H2 database package
- `${{ env.MAC_ARM64_PACKAGE_NAME }}.zip`: Package with TPIsoftwareOSPO/quickstart MacOS ARM64 portable and Azul Zulu Java 21 JRE
- `${{ env.WIN_AMD64_PACKAGE_NAME }}.zip`: Package with TPIsoftwareOSPO/quickstart Windows AMD64 quickstart portable and Azul Zulu Java 21 JRE
### References:
- TPIsoftwareOSPO/quickstart: [v${{ env.QUICKSTART_VERSION }}](https://github.com/TPIsoftwareOSPO/quickstart/releases/tag/v${{ env.QUICKSTART_VERSION }})
files: |
${{ env.H2_PACKAGE_NAME }}.zip
${{ env.MAC_ARM64_PACKAGE_NAME }}.zip
${{ env.WIN_AMD64_PACKAGE_NAME }}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}