name: Hyperion CI Build on: push: branches: - '**' tags: - '*' jobs: ################### ###### Linux ###### ################### # Linux: # name: 🐧 ${{ matrix.dockerName }} # runs-on: ubuntu-latest # strategy: # matrix: # dockerImage: [ x86_64, armv6l, armv7l, aarch64 ] # include: # - dockerImage: x86_64 # dockerName: Debian Buster (x86_64) # platform: x11 # - dockerImage: armv6l # dockerName: Debian Buster (Raspberry Pi v1 & ZERO) # platform: rpi # - dockerImage: armv7l # dockerName: Debian Buster (Raspberry Pi 2 & 3) # platform: rpi # - dockerImage: aarch64 # dockerName: Debian Buster (Generic AARCH64) # platform: amlogic # steps: # - name: ⬇ Checkout # uses: actions/checkout@v4 # with: # submodules: recursive # - name: 👷 Build # env: # DOCKER_IMAGE: ${{ matrix.dockerImage }} # DOCKER_TAG: buster # DOCKER_NAME: ${{ matrix.dockerName }} # PLATFORM: ${{ matrix.platform }} # shell: bash # run: ./.ci/ci_build.sh # - name: 📦 Upload # if: startsWith(github.event.ref, 'refs/tags') # uses: actions/upload-artifact@v3 # with: # path: deploy/Hyperion-* # ################### # ###### macOS ###### # ################### # macOS: # name: 🍏 macOS # runs-on: macos-latest # steps: # - name: ⬇ Checkout # uses: actions/checkout@v4 # with: # submodules: recursive # - name: 🔧 Prepare # shell: bash # run: | # echo '::group::Install dependencies' # ./.ci/ci_install.sh # echo '::endgroup::' # - name: 👷 Build # env: # PLATFORM: osx # shell: bash # run: ./.ci/ci_build.sh # - name: 📦 Upload # if: startsWith(github.event.ref, 'refs/tags') # uses: actions/upload-artifact@v3 # with: # path: build/Hyperion-* # ##################### # ###### Windows ###### # ##################### # windows: # name: 🪟 Windows # runs-on: windows-2022 # env: # VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC' # QT_VERSION: 5.15.2 # steps: # - name: ⬇ Checkout # uses: actions/checkout@v4 # with: # submodules: recursive # - name: 💾 Cache/Restore # uses: actions/cache@v3 # with: # path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey # key: ${{ runner.os }}-chocolatey # - name: 📥 Install OpenSSL, DirectX SDK, libjpeg-turbo # shell: powershell # run: | # choco install --no-progress openssl --version=1.1.1.2100 -y # choco install --no-progress directx-sdk -y # 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: 📥 Install Qt # uses: jurplel/install-qt-action@v3 # with: # version: ${{env.QT_VERSION}} # target: 'desktop' # arch: 'win64_msvc2019_64' # cache: 'true' # cache-key-prefix: 'cache-qt-windows' # - name: 🛠️ Setup # shell: cmd # run: call "${{env.VCINSTALLDIR}}\Auxiliary\Build\vcvars64.bat" # - name: 👷 Build # env: # PLATFORM: windows # shell: bash # run: | # echo '::group::Build packages' # ./.ci/ci_build.sh # echo '::endgroup::' # - name: 📦 Upload # if: startsWith(github.event.ref, 'refs/tags') # uses: actions/upload-artifact@v3 # with: # path: build/Hyperion-* # retention-days: 1 # ##################################### # ###### Publish GitHub Releases ###### # ##################################### # github_publish: # name: 🚀 Publish GitHub Releases # if: startsWith(github.event.ref, 'refs/tags') # needs: [Linux, macOS, windows] # runs-on: ubuntu-latest # steps: # - name: ⬇ Checkout # uses: actions/checkout@v4 # - name: 🔧 Prepare # run: | # echo '::group::Generate environment variables from .version and tag' # echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV # echo "VERSION=$(tr -d '\n' < .version)" >> $GITHUB_ENV # echo '::endgroup::' # - name: 💾 Artifact download # uses: actions/download-artifact@v3.0.2 # with: # path: artifacts # - name: 📦 Upload # uses: softprops/action-gh-release@v1 # with: # name: Hyperion ${{ env.VERSION }} # tag_name: ${{ env.TAG }} # files: "artifacts/**" # draft: true # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ################################### ###### APT reusable workflow ###### ################################### apt_build: name: APT Build # if: startsWith(github.event.ref, 'refs/tags') # needs: [Linux, macOS, windows] uses: ./.github/workflows/apt.yml secrets: inherit with: nightly: false publish: true ################################### ###### DNF reusable workflow ###### ################################### dnf_build: name: DNF Build # if: startsWith(github.event.ref, 'refs/tags') # needs: [Linux, macOS, windows] uses: ./.github/workflows/dnf.yml secrets: inherit with: nightly: false publish: true