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@v4 - name: Download ares-cli-rs uses: robinraju/release-downloader@v1.11 with: repository: "webosbrew/ares-cli-rs" latest: true fileName: "ares-package_*.deb" out-file-path: "temp" - name: Download Manifest Generator uses: robinraju/release-downloader@v1.9 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/*.deb - name: Download webOS NDK uses: robinraju/release-downloader@v1.11 with: repository: "openlgtv/buildroot-nc4" latest: true fileName: "linux-intel-webos-sdk.tar.gz" out-file-path: "/tmp" - name: Extract webOS NDK shell: bash working-directory: /tmp run: | tar xzf linux-intel-webos-sdk.tar.gz ./arm-webos-linux-gnueabi_sdk-buildroot/relocate-sdk.sh - name: Compile RA shell: bash run: | . /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 -j$(getconf _NPROCESSORS_ONLN) env: DEBUG: ${{ github.event_name == 'release' && '0' || '1' }} - name: Get short SHA id: slug run: echo "sha8=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_OUTPUT - uses: actions/upload-artifact@v4 with: name: com.retroarch.webos_${{ steps.slug.outputs.sha8 }}_arm.ipk path: | webos/*.ipk - name: Generate Manifest shell: bash run: | . version.all webosbrew-gen-manifest -o webos/${PACKAGE_NAME}.manifest.json \ -p webos/${PACKAGE_NAME}_${RARCH_VERSION}_arm.ipk \ -i https://github.com/webosbrew/RetroArch/raw/webos/webos/icon160.png \ -l https://github.com/webosbrew/RetroArch - name: Release if: github.event_name == 'release' 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/*.ipk,webos/*.manifest.json