Snap (Linux x86_64) (#1232)

This commit is contained in:
Paulchen Panther 2021-05-01 17:00:15 +02:00 committed by GitHub
parent 71e34a6a55
commit aec24e9246
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 166 additions and 8 deletions

View File

@ -63,7 +63,7 @@ jobs:
# Upload artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.dockerImage }}
path: ${{ matrix.dockerImage }}
@ -110,7 +110,7 @@ jobs:
# Upload artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v2
with:
name: macOS
path: macOS
@ -184,7 +184,31 @@ jobs:
# Upload artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v2
with:
name: windows
path: windows
##########################
#### Snap (x86_64) #######
##########################
snap:
name: Snap (x86_64)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Build snap package
- name: Build snap
id: build
uses: snapcore/action-build@v1
# Upload snap artifact (only on tagged commit)
- name: Upload snap artifact
uses: actions/upload-artifact@v2
with:
name: snap
path: ${{ steps.build.outputs.snap }}

View File

@ -146,12 +146,37 @@ jobs:
with:
path: build/Hyperion-*
################################
###### Publish Releases ########
################################
##########################
#### Snap (x86_64) #######
##########################
publish:
name: Publish Releases
snap:
name: Snap (x86_64)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Build snap package
- name: Build snap
id: build
uses: snapcore/action-build@v1
# Upload snap artifact (only on tagged commit)
- name: Upload snap artifact
if: startsWith(github.event.ref, 'refs/tags')
uses: actions/upload-artifact@v2
with:
name: snap
path: ${{ steps.build.outputs.snap }}
#######################################
###### Publish GitHub Releases ########
#######################################
github_publish:
name: Publish GitHub Releases
if: startsWith(github.event.ref, 'refs/tags')
needs: [Linux, macOS, windows]
runs-on: ubuntu-latest
@ -188,3 +213,35 @@ jobs:
prerelease: ${{ env.preRelease }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
############################
###### Snap Release ########
############################
snap_publish:
name: Publish Snap Release
if: startsWith(github.event.ref, 'refs/tags')
needs: [snap]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
# Download snap from snap job
- name: Download snap from snap build
id: download-artifact
uses: actions/download-artifact@v2
with:
name: snap
# Get file name of the snap
- name: Get file name of the snap
run: echo "snap=$(ls ${{ steps.download-artifact.outputs.download-path }}/hyperion-ng_*.snap)" >> $GITHUB_ENV
# Publish snap build to edge channel
- name: Publish snap build to edge channel
uses: snapcore/action-publish@v1
with:
store_login: ${{ secrets.SNAP_STORE_LOGIN }}
snap: ${{ env.snap }}
release: edge

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

77
snap/snapcraft.yaml Normal file
View File

@ -0,0 +1,77 @@
name: hyperion-ng
base: core20
summary: The successor to Hyperion aka Hyperion Next Generation
description: |
Hyperion is an opensource Bias or Ambient Lighting implementation which you might know from TV manufacturers.
It supports many LED devices and video grabbers. The project is still in a alpha development stage.
license: MIT
icon: resources/icons/hyperion-icon-512px.png
adopt-info: hyperion-ng
architectures:
- build-on: amd64
confinement: strict
parts:
hyperion-ng:
plugin: cmake
source: https://github.com/hyperion-project/hyperion.ng.git
source-type: git
override-pull: |
snapcraftctl pull
snapcraftctl set-version "$(cat "$SNAPCRAFT_PART_SRC/version")"
snapcraftctl set-grade "stable"
cmake-generator: Ninja
cmake-parameters:
- "-DCMAKE_BUILD_TYPE=Release"
build-packages:
- git
- cmake
- build-essential
- qtbase5-dev
- libqt5serialport5-dev
- libqt5sql5-sqlite
- libqt5x11extras5-dev
- libusb-1.0-0-dev
- python3-dev
- libcec-dev
- libxcb-image0-dev
- libxcb-util0-dev
- libxcb-shm0-dev
- libxcb-render0-dev
- libxcb-randr0-dev
- libxrandr-dev
- libxrender-dev
- libavahi-core-dev
- libavahi-compat-libdnssd-dev
- libjpeg-dev
- libturbojpeg0-dev
- libssl-dev
- zlib1g-dev
stage-packages:
- libfontconfig1
- libfreetype6
- libgl1
- libglvnd0
- libglx0
- libusb-1.0-0
- libx11-6
apps:
hyperion-ng:
command: usr/local/bin/hyperiond
desktop: usr/local/share/hyperion/desktop/hyperiond.desktop
plugs:
- camera
- framebuffer
- hidraw
- home
- network-control
- network-status
- network-bind
- network
- raw-usb
- serial-port
- tpm
- unity7
- x11