Skip to content

ivi-homescreen-linux #1013

ivi-homescreen-linux

ivi-homescreen-linux #1013

name: ivi-homescreen-linux
on:
pull_request:
types: [ opened, synchronize, reopened, closed ]
release:
types: [ published, created, edited ]
workflow_dispatch:
schedule:
# daily
- cron: '0 0 * * *'
env:
COMPONENT: ivi-homescreen
jobs:
build:
if: ${{ github.server_url == 'https://github.com' && always() }}
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install packages
run: |
echo ${{ github.server_url }}
sudo add-apt-repository -y ppa:kisak/kisak-mesa
sudo apt update -y
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 14
sudo apt update -y
sudo apt-get -y install libwayland-dev wayland-protocols \
mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev mesa-utils \
libc++-14-dev libc++abi-14-dev libunwind-14-dev libxkbcommon-dev
clang++ --version
cmake --version
- name: Configure
run: |
mkdir -p ${{github.workspace}}/build/release
CC=/usr/lib/llvm-14/bin/clang CXX=/usr/lib/llvm-14/bin/clang++ cmake \
-B ${{github.workspace}}/build/release \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_STAGING_PREFIX=${{github.workspace}}/build/staging/usr/local \
-D BUILD_NUMBER=${GITHUB_RUN_ID} \
-D BUILD_PLUGIN_GSTREAMER_EGL=OFF \
-D BUILD_PLUGIN_COMP_SURF=ON \
-D LLVM_ROOT=/usr/lib/llvm-14
mkdir -p ${{github.workspace}}/build/debug
CC=/usr/lib/llvm-14/bin/clang CXX=/usr/lib/llvm-14/bin/clang++ cmake \
-B ${{github.workspace}}/build/debug \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_STAGING_PREFIX=${{github.workspace}}/build/staging/usr/local \
-D BUILD_NUMBER=${GITHUB_RUN_ID} \
-D BUILD_PLUGIN_GSTREAMER_EGL=OFF \
-D BUILD_PLUGIN_COMP_SURF=ON \
-D LLVM_ROOT=/usr/lib/llvm-14
- name: Build Debug Packages
working-directory: ${{github.workspace}}/build/debug
run: |
rm -rf _packages || true
make package -j
ls -la _packages
- name: Publish Debug Artifact TGZ
uses: actions/upload-artifact@v3
with:
name: ivi-homescreen-dbg.Linux.tar.gz.zip
path: |
build/debug/_packages/ivi-homescreen-dbg-*-Linux.tar.gz
- name: Publish Debug Artifact Debian
uses: actions/upload-artifact@v3
with:
name: ivi-homescreen-dbg.amd64.deb.zip
path: |
build/debug/_packages/ivi-homescreen-dbg*_amd64.*deb
- name: Publish Debug Artifact RPM
uses: actions/upload-artifact@v3
with:
name: ivi-homescreen-dbg.x86_64.rpm.zip
path: |
build/debug/_packages/ivi-homescreen-dbg-*.x86_64.rpm
- name: Build Release Packages
working-directory: ${{github.workspace}}/build/release
run: |
rm -rf _packages || true
make package -j
ls -la _packages
echo "Release Info"
ls -la shell/homescreen
echo "Strip executable"
strip shell/homescreen
ls -la shell/homescreen
echo "List Dependencies"
ldd shell/homescreen
- name: Publish Release Artifact TGZ
uses: actions/upload-artifact@v3
with:
name: ivi-homescreen.Linux.tar.gz.zip
path: |
build/release/_packages/ivi-homescreen-*-Linux.tar.gz
- name: Publish Release Artifact Debian
uses: actions/upload-artifact@v3
with:
name: ivi-homescreen.amd64.deb.zip
path: |
build/release/_packages/ivi-homescreen_*_amd64.deb
- name: Publish Release Artifact RPM
uses: actions/upload-artifact@v3
with:
name: ivi-homescreen.x86_64.rpm.zip
path: |
build/release/_packages/ivi-homescreen-*.x86_64.rpm