Skip to content

Update blank.yml

Update blank.yml #101

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 ]
paths-ignore: [ '**/README.md' ]
pull_request:
branches: [ main ]
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: ubuntu-20.04
# 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 add-apt-repository ppa:okirby/qt6-backports -y
sudo apt update
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa -y
sudo apt update
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt update && sudo apt install libfuse2 -y
sudo apt install git cmake pkg-config gcc libwxbase3.0-dev mesa-common-dev libgtk2.0-dev libxext-dev libreadline-dev libglu1-mesa-dev libgl1-mesa-dev libevdev-dev libudev-dev -y
sudo apt-get install make cmake git g++ libgtk2.0-dev libsdl1.2-dev libxrandr-dev libxext-dev libao-dev libasound2-dev libpulse-dev libbluetooth-dev libreadline-gplv2-dev libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt install --no-install-recommends ca-certificates ninja-build qt6-base-dev qt6-base-private-dev libqt6svg6-dev git cmake make g++-13 gcc-13 pkg-config libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libxi-dev libxrandr-dev libudev-dev libevdev-dev libsfml-dev libminiupnpc-dev libmbedtls-dev libcurl4-openssl-dev libhidapi-dev libsystemd-dev libbluetooth-dev libasound2-dev libpulse-dev libpugixml-dev libbz2-dev libzstd-dev liblzo2-dev libpng-dev libusb-1.0-0-dev gettext -y
sudo apt install git -y
sudo apt install libstdc++6 libc++-dev libc++abi-dev -y
version=$(apt-cache pkgnames | sed -nr 's/^gcc-(([0-9]+\.?)+)$/\1/p' \
| sort -n | tail -n1)
echo "The latest available GCC version: $version"
sudo apt-get install gcc-$version g++-$version
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-$version 60 \
--slave /usr/bin/g++ g++ /usr/bin/g++-$version
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
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 16
git clone https://github.com/dolphin-emu/dolphin.git dolphin-emu
mkdir lucas/
mkdir lucas/usr/
mkdir lucas/usr/lib/
find /usr -name 'libqxcb**' | xargs -i -t -exec cp -Lr {} /home/runner/work/Dolphin_emu_Appimage/Dolphin_emu_Appimage/lucas/usr/lib/
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/runner/work/Dolphin_emu_Appimage/Dolphin_emu_Appimage/lucas/usr/lib/
cp -r /usr/lib/x86_64-linux-gnu/qt6/plugins/ /home/runner/work/Dolphin_emu_Appimage/Dolphin_emu_Appimage/lucas/usr/lib/
cp dolphin-emu.desktop dolphin-emu.png AppRun libunionpreload.so lucas/
cd ./dolphin-emu
git checkout master
git submodule update --init --recursive \
Externals/mGBA \
Externals/spirv_cross \
Externals/zlib-ng \
Externals/libspng \
Externals/VulkanMemoryAllocator \
Externals/cubeb \
Externals/implot \
Externals/gtest \
Externals/rcheevos \
Externals/fmt \
&& git pull --recurse-submodules
mkdir Build && cd Build
cmake .. -DLINUX_LOCAL_DEV=true -DCMAKE_C_COMPILER=clang-16 -DCMAKE_CXX_COMPILER=clang++-16 -DCMAKE_CXX_FLAGS=-stdlib=libc++ -DENABLE_TESTS=OFF -Wno-dev -DCMAKE_INSTALL_PREFIX="/home/runner/work/Dolphin_emu_Appimage/Dolphin_emu_Appimage/lucas/usr/"
make
make install
cd ..
cd ..
# Runs a set of commands using the runners shell
- name: Build appimage
run: |
./linuxdeploy --appdir 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/Dolphin_emu_Appimage/Dolphin_emu_Appimage/*.AppImage*
repo_token: "${{ secrets.GITHUB_TOKEN }}"