name: Build OpenJDK 8 for Android and iOS

on: [push, pull_request, workflow_dispatch]

jobs:
  build_android:
    strategy:
      matrix:
        arch: [ "aarch32", "aarch64", "x86", "x86_64" ]
      fail-fast: false

    name: "Build for Android ${{matrix.arch}}"
    runs-on: ubuntu-20.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
    - name: set up JDK 1.7
      uses: actions/setup-java@v1
      with:
        java-version: 1.7
    - name: Build with CI build script
      run: bash "ci_build_arch_${{matrix.arch}}.sh"
    - name: Upload JDK build output
      uses: actions/upload-artifact@v2
      with:
        name: "jdk8-${{matrix.arch}}"
        path: jdk8*.tar.xz
    - name: Upload JRE build output
      uses: actions/upload-artifact@v2
      with:
        name: 'jre8-${{matrix.arch}}'
        path: jre8*.tar.xz
    - name: Upload JRE debuginfo build output
      uses: actions/upload-artifact@v2
      with:
        name: "jre8-debuginfo-${{matrix.arch}}"
        path: dizout

  build_iosport:
    name: "Build for iOS aarch64"
    runs-on: macOS-latest
    continue-on-error: true
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: set up JDK 1.7
      uses: actions/setup-java@v1
      with:
        java-version: 1.7

    - name: Build with CI build script
      run: |
        export BUILD_IOS=1
        bash "ci_build_arch_aarch64.sh"

    - name: Upload JDK build output
      uses: actions/upload-artifact@v2
      with:
        name: "jdk8-ios-aarch64"
        path: jdk8*.tar.xz

    - name: Upload JRE build output
      uses: actions/upload-artifact@v2
      with:
        name: 'jre8-ios-aarch64'
        path: jre8*.tar.xz

    - name: Upload JRE debuginfo build output
      uses: actions/upload-artifact@v2
      with:
        name: "jre8-ios-debuginfo-aarch64"
        path: dizout

  pojav:
    needs: build_android
    runs-on: ubuntu-20.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
    - name: Get jre8-aarch32
      uses: actions/download-artifact@v2
      with:
        name: jre8-aarch32
        path: pojav
    - name: Get jre8-aarch64
      uses: actions/download-artifact@v2
      with:
        name: jre8-aarch64
        path: pojav
    - name: Get jre8-x86
      uses: actions/download-artifact@v2
      with:
        name: jre8-x86
        path: pojav
    - name: Get jre8-x86_64
      uses: actions/download-artifact@v2
      with:
        name: jre8-x86_64
        path: pojav
    - name: Repack JRE
      run: bash "repackjre.sh" $GITHUB_WORKSPACE/pojav $GITHUB_WORKSPACE/pojav/jre8-pojav
    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
          name: jre8-pojav
          path: pojav/jre8-pojav/*
