mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-10 17:27:30 -10:00
177 lines
6.7 KiB
YAML
177 lines
6.7 KiB
YAML
name: CI webOS
|
|
|
|
on:
|
|
push:
|
|
tags-ignore:
|
|
- '*'
|
|
branches:
|
|
- '*'
|
|
pull_request:
|
|
release:
|
|
types: [ published ]
|
|
repository_dispatch:
|
|
types: [ run_build ]
|
|
|
|
env:
|
|
PACKAGE_NAME: com.retroarch.webos
|
|
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Check Out Repo
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Download ares-cli-rs
|
|
uses: robinraju/release-downloader@v1
|
|
with:
|
|
repository: "webosbrew/ares-cli-rs"
|
|
latest: true
|
|
fileName: "ares-package_*_amd64.deb"
|
|
out-file-path: "temp"
|
|
|
|
- name: Download Manifest Generator
|
|
uses: robinraju/release-downloader@v1
|
|
with:
|
|
repository: "webosbrew/dev-toolbox-cli"
|
|
latest: true
|
|
fileName: "webosbrew-toolbox-gen-manifest_*.deb"
|
|
out-file-path: "temp"
|
|
|
|
- name: Update packages
|
|
run: sudo apt-get -yq update
|
|
|
|
- name: Install webOS CLI
|
|
run: |
|
|
sudo apt-get -yq install \
|
|
./temp/ares-package_*_amd64.deb \
|
|
./temp/webosbrew-toolbox-gen-manifest_*.deb
|
|
|
|
- name: Download webOS (arm) NDK
|
|
uses: robinraju/release-downloader@v1
|
|
with:
|
|
repository: "openlgtv/buildroot-nc4"
|
|
latest: true
|
|
fileName: "arm-webos-linux-gnueabi_sdk-buildroot-x86_64.tar.gz"
|
|
out-file-path: "/tmp"
|
|
|
|
- name: Download webOS (aarch64) NDK
|
|
uses: robinraju/release-downloader@v1
|
|
with:
|
|
repository: "cscd98/buildroot-nc4"
|
|
latest: true
|
|
fileName: "aarch64-webos-linux-gnu_sdk-buildroot-x86_64.tar.gz"
|
|
out-file-path: "/tmp"
|
|
|
|
- name: Extract webOS NDKs
|
|
shell: bash
|
|
working-directory: /tmp
|
|
run: |
|
|
tar xzf arm-webos-linux-gnueabi_sdk-buildroot-x86_64.tar.gz
|
|
./arm-webos-linux-gnueabi_sdk-buildroot/relocate-sdk.sh
|
|
tar xzf aarch64-webos-linux-gnu_sdk-buildroot-x86_64.tar.gz
|
|
./aarch64-webos-linux-gnu_sdk-buildroot/relocate-sdk.sh
|
|
|
|
- name: Load RARCH_VERSION from version.all
|
|
id: version
|
|
shell: bash
|
|
run: |
|
|
RARCH_VERSION=$(grep -Po '(?<=#define PACKAGE_VERSION ")[^"]+' version.all)
|
|
echo "RARCH_VERSION=$RARCH_VERSION" >> "$GITHUB_ENV"
|
|
|
|
- name: Compile RA (GLES2, no wayland legacy variant)
|
|
shell: bash
|
|
run: |
|
|
. /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup
|
|
export SDK_PATH=/tmp/arm-webos-linux-gnueabi_sdk-buildroot
|
|
make -f Makefile.webos clean
|
|
make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 \
|
|
-j"$(getconf _NPROCESSORS_ONLN)"
|
|
mkdir -p webos/arm
|
|
mv webos/com.retroarch.webos_${RARCH_VERSION}_arm.ipk \
|
|
webos/arm/com.retroarch.webos-legacy-gles2-no-wayland_${RARCH_VERSION}_arm.ipk
|
|
env:
|
|
DEBUG: ${{ github.event_name == 'release' && '0' || '1' }}
|
|
|
|
- name: Upload GLES2 artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: com.retroarch.webos-legacy-gles2-no-wayland_${{ env.RARCH_VERSION }}_${{ github.sha }}_arm.ipk
|
|
path: webos/arm/com.retroarch.webos-legacy-gles2-no-wayland_${{ env.RARCH_VERSION }}_arm.ipk
|
|
archive: false
|
|
|
|
- name: Compile RA (default)
|
|
shell: bash
|
|
run: |
|
|
. /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup
|
|
export SDK_PATH=/tmp/arm-webos-linux-gnueabi_sdk-buildroot
|
|
make -f Makefile.webos clean
|
|
bash gfx/common/wayland/generate_wayland_protos.sh
|
|
make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 \
|
|
HAVE_XKBCOMMON=1 HAVE_USERLAND=1 HAVE_EGL=1 HAVE_WAYLAND=1 \
|
|
HAVE_OPENGLES3=1 HAVE_OPENGLES3_1=1 HAVE_OPENGLES3_2=1 -j"$(getconf _NPROCESSORS_ONLN)"
|
|
mkdir -p webos/arm
|
|
mv webos/com.retroarch.webos_${RARCH_VERSION}_arm.ipk \
|
|
webos/arm/com.retroarch.webos_${RARCH_VERSION}_arm.ipk
|
|
env:
|
|
DEBUG: ${{ github.event_name == 'release' && '0' || '1' }}
|
|
|
|
- name: Upload default artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: com.retroarch.webos_${{ env.RARCH_VERSION }}_${{ github.sha }}_arm.ipk
|
|
path: webos/arm/com.retroarch.webos_${{ env.RARCH_VERSION }}_arm.ipk
|
|
archive: false
|
|
|
|
- name: Generate Manifest (default only)
|
|
if: github.repository == 'webosbrew/Retroarch'
|
|
shell: bash
|
|
run: |
|
|
webosbrew-gen-manifest -o webos/${PACKAGE_NAME}.manifest.json \
|
|
-p webos/arm/${PACKAGE_NAME}_${RARCH_VERSION}_arm.ipk \
|
|
-i https://github.com/webosbrew/RetroArch/raw/webos/webos/icon160.png \
|
|
-l https://github.com/webosbrew/RetroArch
|
|
|
|
- name: Compile RA (aarch64)
|
|
shell: bash
|
|
run: |
|
|
. /tmp/aarch64-webos-linux-gnu_sdk-buildroot/environment-setup
|
|
export SDK_PATH=/tmp/aarch64-webos-linux-gnu_sdk-buildroot
|
|
make -f Makefile.webos clean
|
|
bash gfx/common/wayland/generate_wayland_protos.sh
|
|
make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=0 \
|
|
HAVE_XKBCOMMON=1 HAVE_USERLAND=1 HAVE_EGL=1 HAVE_WAYLAND=1 \
|
|
HAVE_OPENGLES3=1 HAVE_OPENGLES3_1=1 HAVE_OPENGLES3_2=1 \
|
|
HAVE_WAYLAND_BACKPORT=0 HAVE_64TO32BIT_BRIDGE=1 SET_ELF_INTERPRETER=1 HAVE_UDEV=1 \
|
|
ARES_PACKAGE_ARGS="-A arm" -j"$(getconf _NPROCESSORS_ONLN)"
|
|
mkdir -p webos/aarch64
|
|
mv webos/com.retroarch.webos_${{ env.RARCH_VERSION }}_arm.ipk \
|
|
webos/aarch64/com.retroarch.webos_${{ env.RARCH_VERSION }}_aarch64.ipk
|
|
env:
|
|
DEBUG: ${{ github.event_name == 'release' && '0' || '1' }}
|
|
|
|
- name: Upload aarch64 artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: com.retroarch.webos_${{ env.RARCH_VERSION }}_${{ github.sha }}_aarch64.ipk
|
|
path: webos/aarch64/com.retroarch.webos_${{ env.RARCH_VERSION }}_aarch64.ipk
|
|
archive: false
|
|
|
|
- name: Release
|
|
if: github.event_name == 'release' && github.repository == 'webosbrew/Retroarch'
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
tag: ${{ github.event.release.tag_name }}
|
|
allowUpdates: true
|
|
omitNameDuringUpdate: true
|
|
omitBody: true
|
|
omitPrereleaseDuringUpdate: true
|
|
artifacts: |
|
|
webos/arm/com.retroarch.webos_${{ env.RARCH_VERSION }}_arm.ipk
|
|
webos/arm/com.retroarch.webos-legacy-gles2-no-wayland_${{ env.RARCH_VERSION }}_arm.ipk
|
|
webos/aarch64/com.retroarch.webos_${{ env.RARCH_VERSION }}_aarch64.ipk
|
|
webos/${{ env.PACKAGE_NAME }}.manifest.json
|