Skip to content

ivi-homescreen

ivi-homescreen #346

---
name: ivi-homescreen
on:
pull_request:
types: [ opened, synchronize, reopened, closed ]
release:
types: [ published, created, edited ]
workflow_dispatch:
schedule:
# daily
- cron: '0 0 * * *'
jobs:
ivi-homescreen:
if: ${{ github.server_url == 'https://github.com' && github.ref != 'refs/heads/agl' && always() }}
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Install runtime packages
run: |
echo ${{ github.server_url }}
sudo apt-get -y install ninja-build \
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 -GNinja \
-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 Package
working-directory: ${{github.workspace}}/build/debug
run: |
rm -rf _packages || true
ninja -C . package
ls -la _packages
- name: Publish Debug Artifact TGZ
uses: actions/upload-artifact@v4
with:
name: homescreen-dbg.Linux.tar.gz.zip
path: |
build/debug/_packages/homescreen-dbg-*-Linux.tar.gz
- name: Publish Debug Artifact Debian
uses: actions/upload-artifact@v4
with:
name: homescreen-dbg.amd64.deb.zip
path: |
build/debug/_packages/homescreen-dbg*_amd64.*deb
- name: Publish Debug Artifact RPM
uses: actions/upload-artifact@v4
with:
name: homescreen-dbg.x86_64.rpm.zip
path: |
build/debug/_packages/homescreen-dbg-*.x86_64.rpm
- name: Configure Release
run: |
mkdir -p ${{github.workspace}}/build/release
cmake -GNinja \
-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 Package
working-directory: ${{github.workspace}}/build/release
run: |
rm -rf _packages || true
ninja -C . package
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@v4
with:
name: homescreen.Linux.tar.gz.zip
path: |
build/release/_packages/homescreen-*-Linux.tar.gz
- name: Publish Release Artifact Debian
uses: actions/upload-artifact@v4
with:
name: homescreen.amd64.deb.zip
path: |
build/release/_packages/homescreen_*_amd64.deb
- name: Publish Release Artifact RPM
uses: actions/upload-artifact@v4
with:
name: homescreen.x86_64.rpm.zip
path: |
build/release/_packages/homescreen-*.x86_64.rpm