fix: don't assume 0x0000..0xFFFF as KMS plane alpha range #91
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish Release | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- release/* | |
pull_request: | |
branches: | |
master | |
permissions: | |
contents: write | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
container: | |
image: debian:bullseye | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
strategy: | |
matrix: | |
target: | |
- arm-linux-gnueabihf | |
- aarch64-linux-gnu | |
- x86_64-linux-gnu | |
buildtype: | |
- debug | |
- release | |
include: | |
- target: 'x86_64-linux-gnu' | |
is-cross: false | |
debian-arch: 'amd64' | |
- target: 'aarch64-linux-gnu' | |
is-cross: true | |
debian-arch: 'arm64' | |
- target: 'arm-linux-gnueabihf' | |
is-cross: true | |
debian-arch: 'armhf' | |
steps: | |
- name: Add debian multiarch | |
if: matrix.is-cross | |
run: dpkg --add-architecture ${{ matrix.debian-arch }} | |
# git needs to be installed before checking out, otherwise the checkout will fallback to the REST API, | |
# and the submodule download won't work. | |
- name: Install dependencies | |
env: | |
ARCH: ${{ matrix.debian-arch }} | |
run: | | |
apt-get update && apt-get install -y \ | |
git cmake ninja-build clang lld \ | |
libdrm-dev:$ARCH libgbm-dev:$ARCH libsystemd-dev:$ARCH libinput-dev:$ARCH libudev-dev:$ARCH libxkbcommon-dev:$ARCH \ | |
libgstreamer-plugins-base1.0-dev:$ARCH \ | |
libvulkan-dev:$ARCH \ | |
libgl1-mesa-dev:$ARCH libgles2-mesa-dev:$ARCH libegl1-mesa-dev:$ARCH \ | |
${{ matrix.is-cross && format('gcc-{0} g++-{0}', matrix.target) || '' }} | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Configure CMake | |
env: | |
CMAKE_SYSTEM_NAME: ${{ matrix.is-cross && '-DCMAKE_SYSTEM_NAME=Linux' || '' }} | |
CMAKE_C_COMPILER_TARGET: ${{ matrix.is-cross && format('-DCMAKE_C_COMPILER_TARGET={0}', matrix.target) || '' }} | |
CMAKE_CXX_COMPILER_TARGET: ${{ matrix.is-cross && format('-DCMAKE_CXX_COMPILER_TARGET={0}', matrix.target) || '' }} | |
PKG_CONFIG_PATH: ${{ format('/usr/lib/{0}/pkgconfig:/usr/share/pkgconfig', matrix.target) }} | |
PKG_CONFIG_LIBDIR: ${{ format('/usr/lib/{0}', matrix.target) }} | |
PKG_CONFIG_SYSROOT_DIR: '' | |
run: | | |
cmake \ | |
-B ./build \ | |
-S . \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} \ | |
$CMAKE_SYSTEM_NAME \ | |
$CMAKE_C_COMPILER_TARGET \ | |
$CMAKE_CXX_COMPILER_TARGET \ | |
-DCMAKE_C_COMPILER=clang \ | |
-DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \ | |
-DCMAKE_CXX_COMPILER=clang++ \ | |
-DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=On \ | |
-DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=On \ | |
-DENABLE_VULKAN=ON \ | |
-DENABLE_OPENGL=ON \ | |
-DENABLE_TESTS=On \ | |
-DBUILD_SENTRY_PLUGIN=OFF \ | |
-DCMAKE_INSTALL_PREFIX=$PWD/dist \ | |
-GNinja | |
- name: Build & Install | |
run: cmake --build ./build --target install --config ${{ matrix.buildtype }} | |
- name: Package | |
run: | | |
mkdir -p artifact && cd artifact | |
cp -r ../dist/bin/flutter-pi . | |
tar -cJf ../flutterpi-${{ matrix.target }}-${{ matrix.buildtype }}.tar.xz . | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: flutterpi-${{ matrix.target }}-${{ matrix.buildtype }}-tar-xz | |
path: flutterpi-${{ matrix.target }}-${{ matrix.buildtype }}.tar.xz | |
if-no-files-found: error | |
publish: | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/release/') | |
name: Publish | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts | |
- name: Prepare release | |
run: | | |
mkdir -p release-files | |
mv artifacts/*-tar-xz/* release-files/ | |
- name: Publish Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
fail_on_unmatched_files: true | |
files: release-files/* | |
name: ${{ github.ref_name }} | |
body: ${{ github.event.head_commit.message }} |