scrcpy-appimage/.github/workflows/continuous.yml
2020-08-27 09:05:11 +03:00

115 lines
3.9 KiB
YAML

#
##MIT License
#
#Copyright (c) 2020 Srevin Saju
#
#Permission is hereby granted, free of charge, to any person obtaining a copy
#of this software and associated documentation files (the "Software"), to deal
#in the Software without restriction, including without limitation the rights
#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
#copies of the Software, and to permit persons to whom the Software is
#furnished to do so, subject to the following conditions:
#
#The above copyright notice and this permission notice shall be included in all
#copies or substantial portions of the Software.
#
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
#SOFTWARE.
#
#-----------------------------
name: Continuous
on:
schedule:
- cron: "5 */12 * * *"
push:
branches: [master]
pull_request:
branches: [master]
jobs:
centos:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v2
- name: Set up User
run: |
pacman -Syu --noconfirm
pacman -S sudo --noconfirm
sed -i 's,# %wheel ALL=(ALL) ALL,%wheel\tALL=(ALL)\tNOPASSWD:ALL,g' /etc/sudoers
useradd -m github
usermod -aG wheel github
su - github
- name: Install git
run: |
sudo pacman -S git wget curl jq unzip --noconfirm
sudo pacman -S gcc cmake pkgconf --noconfirm
sudo pacman -S meson sdl2 ffmpeg android-tools --noconfirm
- name: Clone scrcpy
run: |
git clone https://github.com/Genymobile/scrcpy
cd scrcpy
wget $(curl https://api.github.com/repos/Genymobile/scrcpy/releases/latest | jq -r '.assets[].browser_download_url' | grep server) -O scrcpy_server
- name: Download adb
run: |
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
unzip platform-tools-latest-linux.zip
- name: Build scrcpy
run: |
export SRC_ROOT=$(realpath .)
export ADB_DIR=$(realpath platform-tools)
cd scrcpy
meson x --buildtype release --strip -Db_lto=true -Dprebuilt_server=scrcpy_server
ninja -Cx
sudo ninja -Cx install
wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases -O - | grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x appimagetool-*.AppImage
chmod +x linuxdeploy-x86_64.AppImage
export APPIMAGE_EXTRACT_AND_RUN=1
export BUILD_DIR=$(realpath x)
cp $SRC_ROOT/build.sh .
chmod +x build.sh
./build.sh
mkdir -p dist
mv scrcpy*.AppImage dist/.
- name: Upload Appimage
uses: actions/upload-artifact@v1.0.0
with:
name: scrcpy-continuous-x86_64.AppImage
path: 'scrcpy/dist/'
Release:
needs: [centos]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v1
with:
name: scrcpy-continuous-x86_64.AppImage
- name: Release
uses: marvinpinto/action-automatic-releases@latest
if: github.ref == 'refs/heads/master'
with:
automatic_release_tag: continuous
title: Scrcpy AppImage Release
prerelease: false
files: |
scrcpy-continuous-x86_64.AppImage
repo_token: ${{ secrets.GITHUB_TOKEN }}