name: Hyperion PR Build on: pull_request: branches: - master jobs: ###################### ###### Linux ######### ###################### Linux: name: ${{ matrix.dockerName }} runs-on: ubuntu-latest strategy: matrix: dockerImage: [ x86_64, armv6l, armv7l, aarch64 ] include: - dockerImage: x86_64 dockerName: Debian Stretch (x86_64) platform: x11 - dockerImage: armv6l dockerName: Debian Stretch (Raspberry Pi v1 & ZERO) platform: rpi - dockerImage: armv7l dockerName: Debian Stretch (Raspberry Pi 2 & 3) platform: rpi - dockerImage: aarch64 dockerName: Debian Stretch (Generic AARCH64) platform: amlogic steps: - name: Checkout uses: actions/checkout@v1 with: submodules: true # Append PR number to .version - name: Append PR number to version shell: bash run: | tr -d '\n' < .version > temp && mv temp .version echo -n "+PR${{ github.event.pull_request.number }}" >> .version # Build packages - name: Build packages env: DOCKER_IMAGE: ${{ matrix.dockerImage }} DOCKER_TAG: stretch DOCKER_NAME: ${{ matrix.dockerName }} PLATFORM: ${{ matrix.platform }} shell: bash run: ./.ci/ci_build.sh # Collecting deployable artifacts - name: Collecting deployable artifacts shell: bash run: | mkdir -p ${{ matrix.dockerImage }} mv deploy/*.tar.gz ${{ matrix.dockerImage }} if: matrix.dockerImage != 'aarch64' # Upload artifacts - name: Upload artifacts uses: actions/upload-artifact@v2 with: name: ${{ matrix.dockerImage }} path: ${{ matrix.dockerImage }} if: matrix.dockerImage != 'aarch64' ###################### ###### macOS ######### ###################### macOS: name: macOS runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v1 with: submodules: true # Append PR number to .version - name: Append PR number to version shell: bash run: | tr -d '\n' < .version > temp && mv temp .version echo -n "+PR${{ github.event.pull_request.number }}" >> .version # Install dependencies - name: Install dependencies shell: bash run: ./.ci/ci_install.sh # Build packages - name: Build packages env: PLATFORM: osx shell: bash run: ./.ci/ci_build.sh # Collecting deployable artifacts - name: Collecting deployable artifacts shell: bash run: | mkdir -p macOS mv build/*.dmg macOS # Upload artifacts - name: Upload artifacts uses: actions/upload-artifact@v2 with: name: macOS path: macOS ###################### ###### Windows ####### ###################### windows: name: Windows runs-on: windows-latest env: VCINSTALLDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC' QT_VERSION: 5.15.0 steps: - name: Checkout uses: actions/checkout@v1 with: submodules: true # Append PR number to .version - name: Append PR number to version shell: bash run: | tr -d '\n' < .version > temp && mv temp .version echo -n "+PR${{ github.event.pull_request.number }}" >> .version - name: Cache Qt uses: actions/cache@v2 id: cache-qt-windows with: path: ${{ runner.workspace }}/Qt key: ${{ runner.os }}-Qt.${{ env.QT_VERSION }} - name: Install Qt uses: jurplel/install-qt-action@v2 with: version: ${{env.QT_VERSION}} target: 'desktop' arch: 'win64_msvc2019_64' cached: ${{ steps.cache-qt-windows.outputs.cache-hit }} - name: Cache Chocolatey downloads uses: actions/cache@v2 with: path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey key: ${{ runner.os }}-chocolatey - name: "Remove Redistributable" shell: cmd run: | MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7} - name: Install Python, NSIS, OpenSSL, DirectX SDK shell: powershell run: | choco install --no-progress python nsis openssl directx-sdk -y - name: Install libjpeg-turbo run: | Invoke-WebRequest https://netcologne.dl.sourceforge.net/project/libjpeg-turbo/2.0.6/libjpeg-turbo-2.0.6-vc64.exe -OutFile libjpeg-turbo.exe -UserAgent NativeHost .\libjpeg-turbo /S - name: Set up x64 build architecture environment shell: cmd run: call "${{env.VCINSTALLDIR}}\Auxiliary\Build\vcvars64.bat" # Build packages - name: Build packages env: PLATFORM: windows shell: bash run: ./.ci/ci_build.sh # Collecting deployable artifacts - name: Collecting deployable artifacts shell: bash run: | mkdir -p windows mv build/*.exe windows # Upload artifacts - name: Upload artifacts uses: actions/upload-artifact@v2 with: name: windows path: windows