Skip to content

Build on Ubuntu without Docker for the sake of documentation #5

Build on Ubuntu without Docker for the sake of documentation

Build on Ubuntu without Docker for the sake of documentation #5

Workflow file for this run

name: Build AppImageUpdate on Ubuntu without Docker
on:
pull_request
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends software-properties-common
sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-focal
sudo apt-get update
sudo apt-get install -y qt515base qt515wayland libgl1 libdrm-dev mesa-common-dev build-essential libssl-dev autoconf automake libtool wget vim-common desktop-file-utils pkgconf libgpgme-dev libglib2.0-dev libcairo2-dev librsvg2-dev libfuse-dev git libcurl4-openssl-dev argagg-dev libgcrypt20-dev libboost-dev
- name: Install CMake
run: |
wget -qO- https://artifacts.assassinate-you.net/prebuilt-cmake/cmake-v3.24.0-ubuntu_focal-x86_64.tar.gz | tar xzv -C/usr --strip-components=1
- name: Copy pkgconfig files
run: |
cp pkgconfig/*.pc /usr/lib/x86_64-linux-gnu/pkgconfig/
- name: Install GCC 10
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install -y g++-10
export CXX=g++-10
- name: Build JSON library
run: |
git clone https://github.com/nlohmann/json.git -b v3.11.2 --depth=1
cd json
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make -j "$(nproc --ignore=1)" install
cd ../..
rm -rf json/
- name: Remove libcurl.pc
run: |
rm /usr/lib/x86_64-linux-gnu/pkgconfig/libcurl.pc
- name: Build project
run: |
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j$(nproc)
sudo make install
cd ..