Skip to content

Upload Release Assets #35

Upload Release Assets

Upload Release Assets #35

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: digirunner with dependencies and H2 database packaged with MacOS ARM64 quickstart portable and Azul Zulu Java 21 JRE
- ${{ env.WIN_AMD64_PACKAGE_NAME }}.zip: digirunner with dependencies and H2 database packaged with 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 }}