use prebuilt SDL2 #1235
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: 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 ${{ matrix.arch }}) | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
arch: [ armhf, arm64 ] | |
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/[email protected] | |
with: | |
release: bullseye | |
packages: ${{github.workspace}}/scripts/raspi/sysroot-packages.list | |
arch: ${{ matrix.arch }} | |
- name: Install Build Tools | |
shell: bash | |
run: sudo apt-get -y -qq install crossbuild-essential-${{ matrix.arch }} 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-${{ matrix.arch }}-${{ 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 |