Skip to content

make manifest generation optional #1094

make manifest generation optional

make manifest generation optional #1094

Workflow file for this run

name: Build Test
on:
push:
# Don't run for tags
tags-ignore:
- 'v*.*.*'
branches:
- '**'
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
jobs:
build-standard:
name: Build (Linux Desktop)
runs-on: ubuntu-latest
steps:
- name: Checkout Source
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Update packages
run: sudo apt-get -yq update
- name: Install Dependencies
run: sudo apt-get -y -qq install libsdl2-dev libsdl2-image-dev libopus-dev libcurl4-openssl-dev uuid-dev
libavcodec-dev libavutil-dev libexpat1-dev libmbedtls-dev libfontconfig1-dev gettext xvfb
- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DTARGET_DESKTOP=ON
- name: Build
working-directory: ${{github.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE
- name: Test
working-directory: ${{github.workspace}}/build
shell: bash
run: xvfb-run ctest -C $BUILD_TYPE
build-webos:
name: Build (webOS)
runs-on: ubuntu-latest
steps:
- name: Set Short Commit ID
shell: bash
run: echo SHORT_SHA="${GITHUB_SHA:0:8}" >> $GITHUB_ENV
- name: Checkout Source
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Download ares-cli-rs
uses: robinraju/[email protected]
with:
repository: "webosbrew/ares-cli-rs"
latest: true
fileName: "ares-package_*.deb"
out-file-path: "temp"
- name: Download Homebrew Toolbox
uses: robinraju/[email protected]
with:
repository: "webosbrew/dev-toolbox-cli"
latest: true
fileName: "webosbrew-toolbox-*.deb"
out-file-path: "temp"
- name: Update Packages
run: sudo apt-get -yq update
- name: Install Tools
run: sudo apt-get install ./temp/*.deb
- name: webOS Build
uses: ./.github/actions/build-webos
with:
build-type: ${{ env.BUILD_TYPE }}
- name: Add Commit Hash Suffix
shell: bash
working-directory: dist
run: for file in *.ipk ; do mv $file ${file//_arm/-${SHORT_SHA}_arm} ; done
- uses: actions/upload-artifact@v4
with:
name: webos-snapshot-${{ env.SHORT_SHA }}
path: dist/*.ipk
- name: Compatibility Check
run: webosbrew-ipk-verify -f markdown -d -o $GITHUB_STEP_SUMMARY dist/*.ipk
build-raspi:
name: Build (Raspberry Pi)
runs-on: ubuntu-20.04
steps:
- name: Set Short Commit ID
shell: bash
run: echo SHORT_SHA="${GITHUB_SHA:0:8}" >> $GITHUB_ENV
- name: Checkout Source
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Update Packages
shell: bash
run: sudo apt-get -yq update
- name: Prepare Sysroot
id: pi-sysroot
uses: mariotaku/raspbian-sysroot-action@main
with:
release: bullseye
packages: ${{github.workspace}}/scripts/raspi/sysroot-packages.list
- name: Install Build Tools
shell: bash
run: sudo apt-get -y -qq install crossbuild-essential-armhf cmake gettext
- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
env:
CMAKE_TOOLCHAIN_FILE: ${{steps.pi-sysroot.outputs.cmake-toolchain}}
- name: Build
working-directory: ${{github.workspace}}/build
shell: bash
run: |
cmake --build . --config $BUILD_TYPE
cpack
- uses: actions/upload-artifact@v4
with:
name: raspi-snapshot-${{ env.SHORT_SHA }}
path: build/*.deb
build-steamlink:
name: Build (Steam Link)
runs-on: ubuntu-22.04
steps:
- name: Set Short Commit ID
shell: bash
run: echo SHORT_SHA="${GITHUB_SHA:0:8}" >> $GITHUB_ENV
- name: Checkout Source
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Update Packages
shell: bash
run: sudo apt-get -yq update
- name: Install Steam Link SDK
uses: ./.github/actions/steamlink-sdk
with:
path: .steamlink-sdk
- name: Install Build Tools
shell: bash
run: sudo apt-get -y -qq install cmake gettext
- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/build
run: |
source ${{github.workspace}}/.steamlink-sdk/setenv.sh
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
env:
CMAKE_TOOLCHAIN_FILE: ${{github.workspace}}/.steamlink-sdk/toolchain/steamlink-toolchain.cmake
- name: Build
working-directory: ${{github.workspace}}/build
shell: bash
run: |
source ${{github.workspace}}/.steamlink-sdk/setenv.sh
cmake --build . --config $BUILD_TYPE
cpack
- name: Add Commit Hash Suffix
shell: bash
working-directory: dist
run: for file in moonlight-tv_*_steamlink.* ; do mv $file ${file//_steamlink/-${SHORT_SHA}_steamlink} ; done
- name: Copy Install Manual
run: cp docs/INSTALL.steamlink.md dist/
- uses: actions/upload-artifact@v4
with:
name: steamlink-snapshot-${{ env.SHORT_SHA }}
path: |
dist/moonlight-tv_*_steamlink.*
dist/INSTALL.steamlink.md