2023-10-15 20:40:13 +02:00

209 lines
5.7 KiB
YAML

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