Skip to content

ivi-homescreen-linux #1074

ivi-homescreen-linux

ivi-homescreen-linux #1074

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
with:
ref: main
- name: Install packages
run: |
echo ${{ github.server_url }}
sudo apt-get -y install \
libwayland-dev wayland-protocols libxkbcommon-dev \
mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev mesa-utils
cmake --version
gcc --version
- name: Configure Debug
run: |
mkdir -p ${{github.workspace}}/build/debug
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 CMAKE_VERBOSE_MAKEFILE=ON
- name: Build Debug Packages
working-directory: ${{github.workspace}}/build/debug
run: |
rm -rf _packages || true
make homescreen VERBOSE=1
make package VERBOSE=1
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: Configure Release
run: |
mkdir -p ${{github.workspace}}/build/release
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 CMAKE_VERBOSE_MAKEFILE=ON
- name: Build Release Packages
working-directory: ${{github.workspace}}/build/release
run: |
rm -rf _packages || true
make homescreen VERBOSE=1
make package VERBOSE=1
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
- name: Test Debug Packages
working-directory: ${{github.workspace}}/build/debug
run: |
pwd
ls -la
cmake ${{github.workspace}} \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_STAGING_PREFIX=${{github.workspace}}/build/staging/usr/local \
-D BUILD_NUMBER=${GITHUB_RUN_ID} \
-D CMAKE_VERBOSE_MAKEFILE=ON \
-D BUILD_UNIT_TESTS=ON
make VERBOSE=1
ctest
- name: Test Release Packages
working-directory: ${{github.workspace}}/build/release
run: |
pwd
ls -la
cmake ${{github.workspace}} \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_STAGING_PREFIX=${{github.workspace}}/build/staging/usr/local \
-D BUILD_NUMBER=${GITHUB_RUN_ID} \
-D CMAKE_VERBOSE_MAKEFILE=ON \
-D BUILD_UNIT_TESTS=ON
make VERBOSE=1
ctest