Skip to content

Packages totalcross #175

Packages totalcross

Packages totalcross #175

Workflow file for this run

name: Packages `totalcross`
on:
workflow_dispatch:
schedule:
- cron: "0 1 * * 1"
jobs:
build:
uses: ./.github/workflows/build.yml
secrets: inherit
package_totalcross:
name: Package TotalCross
if: ${{ always() }}
needs: build
runs-on: ubuntu-22.04
steps:
- name: Download SDK build artifacts
uses: actions/download-artifact@v4
with:
name: sdk-build
path: .
- name: Extract SDK build artifacts
run: tar -xzf sdk-build.tar.gz
- name: Download Linux amd64
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: linux-amd64
path: linux-amd64
- name: Manage Linux amd64 files
if: ${{ success() }}
run: |
mkdir -p build/TotalCross/dist/vm/linux
mkdir -p build/TotalCross/etc/launchers/linux
cp -p -a -R linux-amd64/libtcvm.so build/TotalCross/dist/vm/linux/
cp -p -a -R linux-amd64/Launcher build/TotalCross/etc/launchers/linux/
- name: Download Linux arm32
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: linux-arm32v7
path: linux-arm32v7
- name: Manage Linux arm32 files
if: ${{ success() }}
run: |
mkdir -p build/TotalCross/dist/vm/linux_arm
mkdir -p build/TotalCross/etc/launchers/linux_arm
cp -p -a -R linux-arm32v7/libtcvm.so build/TotalCross/dist/vm/linux_arm/
cp -p -a -R linux-arm32v7/Launcher build/TotalCross/etc/launchers/linux_arm/
- name: Download Linux arm64
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: linux-arm64
path: linux-arm64
- name: Manage Linux arm64 files
if: ${{ success() }}
run: |
mkdir -p build/TotalCross/dist/vm/linux_arm64
mkdir -p build/TotalCross/etc/launchers/linux_arm64
cp -p -a -R linux-arm64/libtcvm.so build/TotalCross/dist/vm/linux_arm64/
cp -p -a -R linux-arm64/Launcher build/TotalCross/etc/launchers/linux_arm64/
- name: Download Windows
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: windows
path: windows
- name: Manage Windows files
if: ${{ success() }}
shell: bash
run: |
mkdir -p build/TotalCross/dist/vm/win32
mkdir -p build/TotalCross/etc/launchers/win32
find windows -iname "tcvm.dll" -exec cp -p -a -R {} build/TotalCross/dist/vm/win32/TCVM.dll \; -quit
find windows -iname "launcher.exe" -exec cp -p -a -R {} build/TotalCross/etc/launchers/win32/Launcher.exe \; -quit
- name: Download Android
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: android
path: android
- name: Manage Android files
if: ${{ success() }}
shell: bash
run: |
android_artifact="$(find android -name "TotalCross.aab" -type f -print -quit)"
if [ -z "$android_artifact" ]; then
echo "Could not find TotalCross.aab in Android build artifact" >&2
exit 1
fi
mkdir -p build/TotalCross/dist/vm/android
mkdir -p build/TotalCross/etc/launchers/android
mkdir -p build/TotalCross/etc/tools/android
cp -p -a -R "$android_artifact" build/TotalCross/dist/vm/android/TotalCross.aab
- name: Download iOS
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: ios
path: ios
- name: Manage iOS files
if: ${{ success() }}
shell: bash
run: |
mkdir -p build/TotalCross/etc/tools/iOSCodesign
tar -xzf ios/ios-xcarchive.tar.gz -C build/TotalCross/etc/tools/iOSCodesign
- name: Read TotalCross version
id: totalcross-version
shell: bash
run: |
version="$(find build/TotalCross/dist -maxdepth 1 -name 'totalcross-sdk-[0-9]*.[0-9]*.[0-9]*.jar' ! -name '*-javadoc.jar' ! -name '*-sources.jar' -print -quit)"
version="${version##*/}"
version="${version#totalcross-sdk-}"
version="${version%.jar}"
if [ -z "$version" ]; then
echo "Could not determine TotalCross version from packaged SDK jar" >&2
exit 1
fi
echo "version=${version}" >> "$GITHUB_OUTPUT"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: TotalCross-${{ steps.totalcross-version.outputs.version }}
path: |
build/TotalCross/
- name: Upload dist jars
uses: actions/upload-artifact@v4
with:
name: TotalCross-${{ steps.totalcross-version.outputs.version }}-jars
path: build/TotalCross/dist/*.jar