Update supported platforms #925
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# Build process | |
- name: Build packages | |
env: | |
DOCKER_IMAGE: ${{ matrix.dockerImage }} | |
DOCKER_TAG: buster | |
DOCKER_NAME: ${{ matrix.dockerName }} | |
PLATFORM: ${{ matrix.platform }} | |
shell: bash | |
run: ./.ci/ci_build.sh | |
# Upload artifacts (only on tagged commit) | |
- name: Upload artifacts | |
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: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# Install dependencies | |
- name: Install dependencies | |
shell: bash | |
run: ./.ci/ci_install.sh | |
# Build process | |
- name: Build packages | |
env: | |
PLATFORM: osx | |
shell: bash | |
run: ./.ci/ci_build.sh | |
# Upload artifacts (only on tagged commit) | |
- name: Upload artifacts | |
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@v3 | |
with: | |
submodules: true | |
- 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: Cache Chocolatey downloads | |
uses: actions/cache@v3 | |
with: | |
path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey | |
key: ${{ runner.os }}-chocolatey | |
# - name: Install Python | |
# shell: powershell | |
# run: | | |
# choco install --no-progress python -y | |
- name: Install OpenSSL, DirectX SDK | |
shell: powershell | |
run: | | |
choco install --no-progress 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 | |
# Upload artifacts (only on tagged commit) | |
- name: Upload artifacts | |
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@v3 | |
# Generate environment variables | |
- name: Generate environment variables from .version and tag | |
run: | | |
echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV | |
echo "VERSION=$(tr -d '\n' < .version)" >> $GITHUB_ENV | |
# Download artifacts from previous build process | |
- name: Download artifacts | |
uses: actions/download-artifact@v3.0.2 | |
with: | |
path: artifacts | |
# Create draft release and upload artifacts | |
- name: Create draft release | |
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 workflow ###### | |
########################## | |
apt_build: | |
name: APT Build GitHub Releases | |
if: startsWith(github.event.ref, 'refs/tags') | |
needs: [Linux, macOS, windows] | |
uses: ./.github/workflows/apt.yml | |
secrets: inherit | |
with: | |
head_sha: master |