Skip to content

up

up #8

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Build at 00:00 on every 12th day-of-month.
schedule:
- cron: "0 0 */12 * *"
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ main,q ]
paths-ignore: [ '**/README.md' ]
pull_request:
branches: [ main,q ]
paths-ignore: [ '**/README.md' ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build-stable"
build-stable:
# The type of runner that the job will run on
runs-on: self-hosted
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: Prerequisites
run: |
sudo apt install python3-venv git ninja-build pkg-config libglib2.0-dev flex bison git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build
sudo apt-get install libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev libusb*
sudo apt-get install libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev libnfs*
sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev
sudo apt-get install librbd-dev librdmacm-dev
sudo apt-get install libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev
sudo apt-get install libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev
sudo apt-get install valgrind xfslibs-dev
wget -q "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" -O linuxdeploy ; chmod a+x linuxdeploy
wget -q "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O appimagetool ; chmod a+x appimagetool
mkdir -p lucas/usr/lib/
mkdir -p lucas/usr/share/
cp -r /usr/share/mime/ lucas/usr/share/
sudo apt install bash coreutils ovmf grep jq lsb-base procps python3 genisoimage usbutils util-linux sed spice-client-gtk tss2 wget xdg-user-dirs zsync unzip
git clone https://gitlab.com/qemu-project/qemu.git
cd qemu
git submodule init
git submodule update --recursive
./configure --enable-alsa \
--enable-dbus_display \
--enable-gtk \
--enable-gnutls \
--enable-kvm \
--enable-libssh \
--enable-libusb \
--enable-libudev \
--enable-netmap \
--enable-nettle \
--enable-opengl \
--enable-pa \
--enable-smartcard \
--enable-sdl \
--enable-spice \
--enable-spice-protocol \
--enable-tpm \
--enable-u2f \
--enable-usb_redir \
--enable-vde \
--enable-vfio_user_server \
--enable-virglrenderer \
--enable-vnc \
--enable-vte \
--enable-xen \
--enable-xen_pci_passthrough \
--target-list=x86_64-linux-user x86_64-softemmu --prefix=${GITHUB_WORKSPACE}/lucas/usr/
./configure --enable-sdl --enable-gtk --enable-opengl --enable-kvm --enable-gnutls --enable-libssh --enable-libusb --enable-libudev --enable-netmap --enable-nettle --enable-alsa --enable-pa --prefix=${GITHUB_WORKSPACE}/lucas/usr/
make
make install
cd ..
sudo add-apt-repository ppa:flexiondotorg/quickemu
sudo apt update && sudo apt install quickemu
sudo mkdir -p /etc/apt/keyrings
wget -q https://raw.githubusercontent.com/oSoWoSo/DistroHopper/all/q -O- q ; chmod a+x q
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install gum
cp q.desktop q_logo_no_text.svg AppRun libunionpreload.so lucas/
# Runs a set of commands using the runners shell
- name: Build appimage
run: |
./linuxdeploy --appdir lucas/
cp q.desktop lucas/
ARCH=x86_64 ./appimagetool -n lucas/
- name: release
uses: "marvinpinto/action-automatic-releases@6273874b61ebc8c71f1a61b2d98e234cf389b303"
with:
title: Continuous build
automatic_release_tag: continuous-stable
prerelease: false
draft: false
files: /home/runner/work/Qemu_Appimage/Qemu_Appimage/*.AppImage*
repo_token: "${{ secrets.GITHUB_TOKEN }}"